1

私は C++ を使用して Android でコーディングしています (具体的には cocos2d-x を使用しています)。

さて、たとえば、MyClass.h ファイルと .cpp ファイルを持つクラスがあるとします。これらのファイルから .so を作成したいと思います。次に、その .so をプロジェクトに含めて、.so 経由でアクセスしたいと思います#include "MyClass.h"。出来ますか?もしそうなら、どのように?ありがとう!

4

1 に答える 1

1

ARM 用のスタティック ライブラリをビルドするには、 NDK スタンドアロン ツールチェーンを使用できます。

をコンパイルしたら、次のようなAndroid NDK make ファイル(Android.mk) を.so使用してプロジェクトにライブラリを含めることができます。

LOCAL_PATH := $(call my-dir)  
LOCAL_SRC_FILES := my_module.so  
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
include $(PREBUILT_SHARED_LIBRARY)

正しいパスにヘッダー (/include) が含まれていることを確認してください。

あなたの意図がコードで Android の世界に戻ることであるかどうかはわかりませんが、.so/C/C++ コードと Java の間のブリッジを作成することを検討している場合は、適切な JNI メソッドをC. JNI メソッドにマップされた静的System.loadLibrary('my_module')インポートとnativeメソッド宣言を使用して、必要な Java クラスを構築します。

于 2013-02-08T19:02:16.370 に答える