eclipse集成ndk找不到jni.h

wzywzy86 2014-02-12 03:13:37
大家好,我使用eclipse4.3 + ndk n9c尝试编译ndk工程,环境变量都已经配好,cygwin也已安装完成并在/home/.bashrc里面添加NDK路径,gcc,g++编译器也已经安装完毕。但是在尝试编写ndk工程时,遇到jni.h和其他系统头文件找不到的问题,很是奇怪,修改build属性,在c/c++ general --> path and symbols中添加jdk的include与ndk的include文件夹也无效,不知道大家是怎么解决的,请教之。






...全文
1349 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
aa51513 2016-05-06
  • 打赏
  • 举报
回复
引用 10 楼 Trent1985 的回复:
看看这个 http://blog.csdn.net/trent1985/article/details/24632809
这好像是ecplise下的解决办法,我想问一下,Android studio下面跟如何解决
wcb2332 2014-09-10
  • 打赏
  • 举报
回复
路径中不能有空格吧,我看你是放在program file下的,估计是这问题
Trent1985 2014-08-04
  • 打赏
  • 举报
回复
看看这个 http://blog.csdn.net/trent1985/article/details/24632809
代号95+27 2014-08-03
  • 打赏
  • 举报
回复
楼主解决了吗 我也遇到同样的问题 但是我打开jni自带的例子程序又是正常的
Kevin-Jia 2014-05-16
  • 打赏
  • 举报
回复
请问楼主怎么解决的?这个问题困扰我很久了。。。
地下室森林 2014-03-26
  • 打赏
  • 举报
回复
ndk的路径你配置了没有,我刚开始ndk没配置蛋疼了好久
dxwapa 2014-03-25
  • 打赏
  • 举报
回复
要把VC++目录下 include文件夹中的jni.h及好几个头文件 复制到ndk安装目录下的include中
2014-03-21
  • 打赏
  • 举报
回复
引用 2 楼 wzywzy86 的回复:
Reykou童鞋,linux下也有找不到的情况吗?
请问楼主问题解决了没?解决了把答案发出,我也碰到相同的问题,不知道怎么解决
莺时桃桃 2014-02-25
  • 打赏
  • 举报
回复
引用 3 楼 wzywzy86 的回复:
[quote=引用 1 楼 u013645219 的回复:] linux下的话知道。。。win下面只能路过了。。。
请问你在linux下面是如何解决的?我在linux下搭建了环境,结果还是出现一样的问题。[/quote] 不好意思最近几天没上csdn,才看到留言 我在linux下面是没有这个问题的噢 首先,从您的截图里面看的话 jni的.h文件 只定义函数,没有写实际的函数体。 然后 还需要配置ndk编译 成功编译出.so文件才算成功的。ndk配置请参考下面这个网站吖~ http://lockriver.blog.163.com/blog/static/48723224201143111491801/
wzywzy86 2014-02-19
  • 打赏
  • 举报
回复
引用 1 楼 u013645219 的回复:
linux下的话知道。。。win下面只能路过了。。。
请问你在linux下面是如何解决的?我在linux下搭建了环境,结果还是出现一样的问题。
wzywzy86 2014-02-13
  • 打赏
  • 举报
回复
Reykou童鞋,linux下也有找不到的情况吗?
莺时桃桃 2014-02-12
  • 打赏
  • 举报
回复
linux下的话知道。。。win下面只能路过了。。。
1.) 在项目根目录下创建jni目录,下面是要放进去的第一个文件Android.mk LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := main_jni #LOCAL_CFLAGS := LOCAL_SRC_FILES := main.cpp #LOCAL_LDLIBS := include $(BUILD_SHARED_LIBRARY) 2.) 在jni目录创建main.cpp #include using namespace std; #ifdef __cplusplus extern "C" { #endif class Test { public: Test(){}; ~Test(){}; int SomeFunc() { return 20140522; } }; jint Java_com_yxiaolv_testjni_MainActivity_SomeFunc(JNIEnv *env, jobject thiz) //红色部分必须和你java类包名一致 { Test *test = new Test(); return test->SomeFunc(); } #ifdef __cplusplus } #endif //将下面第3.)至第5.)步的代码片段放到eclipse创建android项目时自动产生的MainAcitivity.java中就可以了 3.) 在Java Activity代码中添加对这个jni的调用 (本例中是MainActivity.java ): static { System.loadLibrary("main_jni"); } 4.) 在调用者Activity中定义函数 native int SomeFunc(); 5.) 在activity中调用 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = new TextView(this); int i = SomeFunc(); tv.setText( String.valueOf(i) ); setContentView(tv); } //下面的第6.)和第7.)步可以被集成的.cproject 和在.project中添加plugin之后一键编译,不用单独起dos窗口了。由于没有到生成.cproject的工具,只能手写,所以本文不使用该方法,以后到了好的方法再补充。委屈 6.) 在dos窗口中,cd到项目路径下,运行ndk-build 命令,该命令会自动搜索该路径子目录下的native项目,进行编译。 (Note: 编译完成后不要忘记了刷新项目)。 7.) 重新编译和部署项目,就可以看到已经包含了.so的apk运行在目标机上了。 摘自 http://stackoverflow.com/questions/13654678/how-compile-c-project-via-android-ndk 1). 如果不知道怎样安装和使用windows版的NDK,可以参考 http://blog.csdn.net/do_script/article/details/26478583

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧