NDK 环境路径配置

来源:互联网 发布:网络用语y2y是什么意思 编辑:程序博客网 时间:2024/06/06 09:13


经常频繁出现以下问题:

1、c++标准库头文件无法引入,一大堆错误提示,编译无法通过。

2、编译通过,可以生成so文件,但是提醒一大堆错误,按下Ctrl键单击头文件也无法打开进入该头文件。

这些问题肯定是由于Eclipse ADT 配置出问题了。

NDK路径问题。

include路径问题。

注意这些路径下不要包含有空格,倘若习惯把NDK SDK放到Program Files等含有空格或者中文等目录下。

就会很难发现问题。






倘若找不到路径,例如jni下,找不到memcpy等函数,引入#include<string>也可以解决,倘若无法引入,则往下看是否路径已经生成,也可以手动添加,当然注意空格问题!





粘贴的图片无法显示出来,汗~~~~


NDK目录的include设置也很诡异,只能添加不能删除。

从一台电脑移动到另一台电脑,配置文件还有可能不一样,因为该includes的信息由工程目录下的后缀名为.pathInfo的配置信息,文件路径为

C:\Users\xml\workspace\.metadata\.plugins\com.android.ide.eclipse.ndk

直接用everything搜索*.pathInfo就知道在哪了。


t,1411787323361
i,jni
i,jni/vnc
i,jni/rdr
i,jni/vnc/LibVNCServer-0.9.9
i,jni/zlib-1.2.5
i,F:/Android/ndk/android-ndk-r10/sources/cxx-stl/stlport/stlport
i,F:/Android/ndk/android-ndk-r10/sources/cxx-stl/gabi++/include
i,F:/Android/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/lib/gcc/arm-linux-androideabi/4.6/include
i,F:/Android/ndk/android-ndk-r10/toolchains/arm-linux-androideabi-4.6/prebuilt/windows/lib/gcc/arm-linux-androideabi/4.6/include-fixed
i,F:/Android/ndk/android-ndk-r10/platforms/android-19/arch-arm/usr/include
d,__SIG_ATOMIC_MAX__,2147483647
d,__INT_FAST32_MAX__,2147483647
d,__THUMB_INTERWORK__,1
d,__FLT_EPSILON__,1.1920928955078125e-7F
d,__DEC64_MANT_DIG__,16
d,NDEBUG,1
d,__DBL_MIN__,double(2.2250738585072014e-308L)


直接修改里面的头文件引入路径,NDK配置里的Paths and Symbols中的Includes也会跟着改变了。






解决类似“Unresolved inclusion jni.h” 错误的办法


最终的解决办法就是初始化eclipse对该project的native support:


1. 在eclipse中关闭指定Project

2. 用其他编辑工具打开该project的.project文件,删除以下内容:

......
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
......
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>

......

<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>


4. 在eclipse里打开原来的project,然后右键->properties->Android Tools -> Add Native Support

5. clear工程



0 0
原创粉丝点击