Eclipse C/C++ JNI NDK

在Java JNI或者Android NDK中,C或者CPP源码中引入header files的时候会出现Unresolved inclusion:
虽然不影响整个源码的编译,但是对于追求干净完美的人来说看了总会觉得有不爽,怎样解决这个呢?
原因是在Eclipse的编辑环境当中没有找到相应的header files,那么解决办法也很简单,就是把header files引入进来
操作步骤如下:
1、右击工程 > New > Folder
2、点击Advanced
3、选择Link to alternate location (Linked Folder),目录自己选择(比如JNI C的话是/usr/include和$JAVA_HOME/include,Android NDK的话是$ANDROID_NDK_HOME/platforms/android-X/arch-arm/usr/include)
4、Finish后Refresh工程(或者Close再Open Project)。

JNI当中Could not find symbol ‘xx’ in index
我们在JNI当中想查看某个函数或者类或者编译单元的源码的时候也想像Java里头一样可以方便的跟踪进去,但是总会出现如上错误。
这个时候只要为这些源码在Eclipse当中增加索引就可以。
操作步骤如下:
1、Window > Preferences > C/C++ > Indexer
2、把其中增加索引的都选上
3、Refresh工程(或者Close再Open Project)。

2 thoughts on “Eclipse C/C++ JNI NDK”

  1. 你好,
    我已经在preference里把都勾的都勾上了,为什么还会出现Could not find symbol ‘xx’ in index的错误呢?
    ps:我是用ndk在命令行编译的,是不是这样eclipse就识别不了?谢谢~

    1. 你大概需要在Eclipse中把缺的头文件引入,然后再build index。
      实际上build代码和Eclipse本身的语法错误提示没有直接关系。
      提示信息是根据你索引信息来的,所以就会出现错误的提示。
      并且有些情况下,这个索引信息比较难修正。

Leave a Reply

Your email address will not be published. Required fields are marked *