[Android] NDK 常见编译问题整理
1、错误:Are you sure your NDK_MODULE_PATH variable is properly defined ?
在编译 NDK 工程时候如果遇到如下类型的问题:
Android NDK: jni/clapack/SRC/Android.mk: Cannot find module with tag 'mymodule' in import path
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
Android NDK: The following directories were searched:
Android NDK:
jni/Android.mk:56: *** Android NDK: Aborting. . Stop.
解决方法一种方式是在 Eclipse 中,在你的工程上右键 > Properties,增加如下的环境变量到你的 module 目录:
另外一种是在 Android.mk 中将 Module 的目录加入 PATH:
找到:
1 | $(call import-module, your module) |
在其之间增加你的 module 路径,我这里设置为当前工程路径:
1 | $(call import-add-path,my_relative_path) |
2、错误:Cannot find module with tag 'cpufeatures' in import path
在编译 NDK 工程时候如果遇到如下类型的问题:
Cannot find module with tag 'cpufeatures' in import path
有可能是因为你的 Android.mk 没有正确导入(可能是旧版 ndk 和新版 ndk api 的差异)。找到:
1 | $(call import-module,cpufeatures) |
修改成:
1 | $(call import-module,android/cpufeatures) |
3、错误:Symbol 'vector' could not be resolved
在编译 NDK 工程时候如果遇到如下类型的问题:
Symbol 'vector' could not be resolved
为解决这一问题,我们需要进行如下设置:
1)右键工程目录选择 Properties -> C/C++ General -> Code Analysis
点击:Use project settings
然后取消 Syntax and semantic errors 的选中状态。如图所示:
2)选择 Path and symbols 菜单,在 include 选项卡下点击 Add 按钮添加 $ndk_root\platforms\android-*\arch-arm\usr\include 路径。该路径和版本请根据你实际安装的 ndk 路径进行添加。同时选中 Add to all languages 如图所示:
保存设置即可。