私はEclipse + Qualcommライブラリ(cppで)+ Android SDKをUbuntuで使用しています。私のアプリケーションは正常に動作します。もし私がクアルコムのライブラリでいくつかのコードを変更すると、それはコンパイルされ正しく動作します。cppで定義マクロを使用している関数の名前を正しく置き換えてください
問題は次のとおりです。私はプロジェクトの名前を変更しましたが、cpp(関数の名前)のコードを変更する必要があります。実行しないとJava.lang.UNSATISFIEDLINKERROR
になります。
#define MAIN_ACTIVITY_PREFIX org_myproject_marker_MainActivity
#define VISUALIZER_PREFIX org_myproject_marker_Visualizer
そして、私は、すべての正しい機能を変更します。
Java_org_myproject_marker_MainActivity_onQCARInitializedNative(JNIEnv *, jobject)
は、その後、私はこのようにマクロを定義:すべての機能は、このようなAndroidのパッケージとして名を持っているためだ
:
Java_MAIN_ACTIVITY_PREFIX_onQCARInitializedNative(JNIEnv *, jobject)
しかし、私はまだJava.lang.UNSATISFIEDLINKERROR
を取得しています。
#define
マクロを使用せずに(すべての行を書き込むと)動作しますが、他のプロジェクトで使用する必要がある場合はすべてを自動的に変更するトップ定義のcppコードを保存します。
私はthis tutorialを読みました。別のテキストなどのテキストを置き換えることはできませんか?その後、
#define MAIN_ACTIVITY_PREFIX(n) Java_org_myproject_marker_MainActivity##n
とこのようにそれを使用します:あなたはこのように、文字列の連結を探している
問題を解決してくれてありがとうございました – vgonisanz