Android error--No implementation found for native Lcomd
1862 ワード
NDKを利用してCppをコンパイルして実行する時、No implementation found for native Lcomなどのエラーが現れて、長い間デバッグして、やっと発見します
XXX.hとXXX.cpp,XXX.cpp里#include XXX.h,意外にもNo implementation found for native Lcomが現れた.
そして、XXX.h削除、すべてXXX.cppで実現して、意外にも通過しました.
NDKは直接includeコンパイル(javah)できないXXXである.h.本当に含める場合は、少なくともいくつかの文を削除します.もちろん、他のものをincludeしてもいいです.hファイル.
XXX.hとXXX.cpp,XXX.cpp里#include XXX.h,意外にもNo implementation found for native Lcomが現れた.
そして、XXX.h削除、すべてXXX.cppで実現して、意外にも通過しました.
NDKは直接includeコンパイル(javah)できないXXXである.h.本当に含める場合は、少なくともいくつかの文を削除します.もちろん、他のものをincludeしてもいいです.hファイル.
/* DO NOT EDIT THIS FILE - it is machine generated */
#include
/* Header for class com_ndk_test_JniClient */
//#ifndef _Included_com_ndk_test_JniClient
//#define _Included_com_ndk_test_JniClient
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_ndk_test_JniClient
* Method: AddStr
* Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_ndk_test_JniClient_AddStr
(JNIEnv *, jclass, jstring, jstring);
/*
* Class: com_ndk_test_JniClient
* Method: AddInt
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_com_ndk_test_JniClient_AddInt
(JNIEnv *, jclass, jint, jint);
#ifdef __cplusplus
}
#endif
//#endif
#include "com_ndk_test_JniClient.h"
#include
#include
#ifdef __cplusplus
extern "C"
{
#endif
/*
* Class: com_ndk_test_JniClient
* Method: AddStr
* Signature: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_com_ndk_test_JniClient_AddStr
(JNIEnv *env, jclass arg, jstring instringA, jstring instringB)
{
jstring str = (*env)->NewStringUTF(env, "HelloWorld from JNI !");
return str;
}
/*
* Class: com_ndk_test_JniClient
* Method: AddInt
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_com_ndk_test_JniClient_AddInt
(JNIEnv *env, jclass arg, jint a, jint b)
{
return a + b;
}
#ifdef __cplusplus
}
#endif