zl程序教程

您现在的位置是:首页 >  其它

当前栏目

Are you sure your NDK_MODULE_PATH variable is properly defined?(2)

is module path your you are variable ndk
2023-09-27 14:22:40 时间

Are you sure your NDK_MODULE_PATH variable is properly defined?



STEP1:   MIND:



爆出来的原因:
Android.mk引用了一个模块,cocos2dx模块,而NDK没有找到它,所以报了这个错,
之前的版本是直接包含cocos2dx模块的Android.mk的,所以不会报错
而这里使用了import,我们也可以使用之前版本的方法来包含它,但貌似import比之前的方法要更好一些
错误信息提示我们,可以通过设置NDK_MODULE_PATH环境变量,这里很有可能设置错误
一般,一个Android.mk包含一个或多个模块,当你要import cocos2dx模块时,
他会在这个路径下% NDK_MODULE_PATH\cocos2dx寻找Android.mk文件


STEP:  ACTION

个人编译在cygwin上用$NDK/ndk-build编译,分别尝试一下几种方式.

第一种方式:Say NO
Android.mk引用了一个模块,cocos2dx模块,而NDK没有找到它,所以报了这个错,之前的版本是直接包含cocos2dx模块的Android.mk的,所以不会报错而这里使用了import,
我们也可以使用之前版本的方法来包含它,但貌似import比之前的方法要更好一些错误信息提示我们,可以通过设置NDK_MODULE_PATH环境变量,这里很有可能设置错误。

这里设置:D:\development\cocos2d-2.0-x-2.0.3;D:\development\cocos2d-2.0-x-2.0.3\cocos2dx\platform\third_party\android\prebuilt






第二种方式:say NO!

添加NDK_MODULE_PATH变量,注意要写两个路径,用分号分开
D:\SDK\cocos2d-2.0-rc0a-x-2.0;D:\SDK\cocos2d-2.0-rc0a-x-2.0\cocos2dx\platform\third_party\android\prebuilt
因为cocos2dx还import了其他几个module,第二个路径制定了第三方的module,设置完就可以进行编译了

第三种方式:say NO!
NDK_MODULE_PATH的设置与格式
    NDK_MODULE_PATH 是一个环境变量,不是android.mk中设置的变量。
    NDK_MODULE_PATH多个路径用冒号分割。不是分号!且整个字符串中间不能有空格。格式不正确也会报错上面的错误的。
   设置NDK_MODULE_PATH的方法
    1、在系统环境里手动添加这个环境变量,
    2、在build_native.sh中 运行ndk-build之前使用export命令定义环境变量NDK_MODULE_PATH。
    如:export NDK_MODULE_PATH=路径1:路径2:路径3
    3、直接将NDK_MODULE_PATH=路径1:路径2 加到 ndk-build命令的参数后面。ndk-build的参数最终会直接传给make.
    如:$NDK_ROOT_LOCAL/ndk-build -C $HELLOWORLD_ROOT NDK_MODULE_PATH=路径1:路径2
(命令 make aaa=213 //在编译makefile之前将aaa当作环境变量设置为213.)
    

第四种方式:say NO!
    还可以在android.mk中设置NDK_MODULE_PATH
    在import语句之前加入,
$(call import-add-path,$(LOCAL_PATH)/platform/third_party/android/prebuilt)
    将一个新的路径加入NDK_MODULE_PATH变量。



第五种方式:say  Yes:
直接在cygwin下来执行build_native.sh它,提示缺少NDK_ROOT,那就配置一下呗。
# options
NDK_ROOT=你的NDK path;

buildexternalsfromsource=


建议先尝试第五种,若真不行,再在前四种的不可能中发现新发现吧。