ndk-build编译是,发现一个奇怪的问题,无法找到c++ 标准库的头文件
演示代码如下:
#include#include#include//#include "include/HelloJNI.h"
JNIEXPORT jstring JNICALL Java_com_mytest_JNIActivity_getMessage
(JNIEnv *env, jobject thisObj) {
return (*env)->NewStringUTF(env, "Hello from native code!");
}
编译代码
ndk-build
[armeabi-v7a] Compile thumb : myjni <= HelloJNI.c
jni/../HelloJNI.c:2:10: fatal error: 'map' file not found
1 error generated.
make: *** [obj/local/armeabi-v7a/objs/myjni/__/HelloJNI.o] Error 1
AppApplication.mk 如下
APP_STL := c++_static
如果改成
APP_STL := gnustl_static
就没有问题,但是我需要用c++_static,修改路径各种方法都试了没有用。
最后发现把HelloJNI.c 改成HelloJNI.cpp 了解决问题