出现这个错误,有2个可能:
第一个就是,eclipse的NDK目录没有指向,NDK的文件夹。
第二就是,NDK_MODULE_PATH目录没有正确设置。
首先这是一个环境变量,NDK编译的时候去搜索这个值。
1
2
3
4
5
6
|
* Due to GNU Make limitations, NDK_MODULE_PATH must not contain any space.
The NDK will complain if this is not the case.
* Use ':' as the path separator.
* On Windows, use '/' as the directory separator.
|
不能有空格,使用:分隔多个路径,使用 / 作为文件夹分隔。重要的是NDK默认去NDK目录下的source搜索。这就是NDK例子里面的mk设置:
1
|
$(call
import
-module,android
/native_app_glue
)
|
这个路径android/native_app_glue就是source下面的。
有4种设置NDK_MODULE_PATH方法是:
第一,设置环境变量
第二,在ndk_build后面加参数,如ndk-build NDK_DEBUG=1 NDK_MODULE_PATH=e:/blabla
第三,在build_native.sh中 运行ndk-build之前使用export命令定义环境变量NDK_MODULE_PATH。 如:export NDK_MODULE_PATH=e:/blabla
第四,在mk文件中,import语句之前加入$(call import-add-path,path), 不过这种方法只是相对于, source路径来说的。
经过测试,上面方法都是可以正确用eclipse编译运行的。但是当我使用dubug的时候,并且使用libpng的预编译文件的时候。发现无法debug自定义设置的NDK_MODULE_PATH的路径,解决办法是把预编译文件拷贝到系统的NDK source下面就可以正常debug了。