NDK编译时NDK_MODULE_PATH定义问题(cocos2d-x)
2014-11-17 06:37
369 查看
from: http://blog.sina.com.cn/s/blog_463559bc0101dhfa.html
因为我尝试过多个版本NDK编译,而且几次在家中与办公室WIN7 32BITS AND 64BITS间倒腾,所以多次遇到NDK_MODULE_PATH相关问题。今天才发现佳文一篇,引用如下:
cocos2d-x
2.0以上版本需要设置NDK_MODULE_PATH环境变量,因为在android.mk文件里一般会有$(call
import-module,***)来导入模块,导入时就是根据设置的NDK_MODULE_PATH来寻找目标模块的。下面说下我这半天时间总结出来的几种设置NDK_MODULE_PATH的方式:1、build_native.sh。项目自带的build_native.sh文件最后可以看到:if [[ "$buildexternalsfromsource" ]];
then
echo
"Building external dependencies from source"
set -x
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
"NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source"
else
echo "Using
prebuilt externals"
set -x
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
"NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
fi
这里有设置NDK_MODULE_PATH。可以直接用cygwin运行这个批处理。 2、eclipse添加ndk-build.cmd编译器时,可以添加NDK_MODULE_PATH的环境变量。这个网上很多资料,不讲了。 在r7版本以后,NDK自带linux编译环境,不再需要cygwin,而我又不喜欢直接eclipse里加入NDK编译器然后一键编译这种比较呆比较臃
肿的方式,所以我一般都是在NDK的build/core/build_local.mk里加入NDK_PROJECT_PATH
=
E:/cocos2d-2.0-x-2.0.4/samples/HelloCpp/proj.android,然后打开CMD,直接敲ndk-
build编译。这时可以如3、4、5这样设置。 3、android.mk在项目的android.mk的import_module之前添加导入模块的路劲。如:#$(call import-add-path,
E:/cocos2d-2.0-x-2.0.4)
#$(call import-add-path,
E:/cocos2d-2.0-x-2.0.4/cocos2dx/platform/third_party/android/prebuilt) $(call import-module,cocos2dx)但这2个路径显然跟项目无关,加在这需要每个项目mk都加,显然不明智。所以见4。 4、ndk-build.cmd在最后一句调用make.exe之前。加入set
NDK_MODULE_PATH=E:/cocos2d-2.0-x-2.0.4;E:/cocos2d-2.0-x-2.0.4/cocos2dx/platform/third_party/android/prebuilt可以看到ndk-build.cmd会去读取build_local.mk,所以像上面说的设置NDK_PROJECT_PATH那样设置NDK_MODULE_PATH应该也是可以的,未验证,有兴趣可以去尝试一下。 5、在cmd里敲ndk-build时,直接当成参数带在后面。可以看到1里面所说的build_native.sh里也是这样子传参进去的。未验证。 注意:改动环境变量设置时,需要重启命令提示符窗口才能生效。
因为我尝试过多个版本NDK编译,而且几次在家中与办公室WIN7 32BITS AND 64BITS间倒腾,所以多次遇到NDK_MODULE_PATH相关问题。今天才发现佳文一篇,引用如下:
cocos2d-x
2.0以上版本需要设置NDK_MODULE_PATH环境变量,因为在android.mk文件里一般会有$(call
import-module,***)来导入模块,导入时就是根据设置的NDK_MODULE_PATH来寻找目标模块的。下面说下我这半天时间总结出来的几种设置NDK_MODULE_PATH的方式:1、build_native.sh。项目自带的build_native.sh文件最后可以看到:if [[ "$buildexternalsfromsource" ]];
then
echo
"Building external dependencies from source"
set -x
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
"NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/source"
else
echo "Using
prebuilt externals"
set -x
"$NDK_ROOT"/ndk-build -C "$APP_ANDROID_ROOT" $* \
"NDK_MODULE_PATH=${COCOS2DX_ROOT}:${COCOS2DX_ROOT}/cocos2dx/platform/third_party/android/prebuilt"
fi
这里有设置NDK_MODULE_PATH。可以直接用cygwin运行这个批处理。 2、eclipse添加ndk-build.cmd编译器时,可以添加NDK_MODULE_PATH的环境变量。这个网上很多资料,不讲了。 在r7版本以后,NDK自带linux编译环境,不再需要cygwin,而我又不喜欢直接eclipse里加入NDK编译器然后一键编译这种比较呆比较臃
肿的方式,所以我一般都是在NDK的build/core/build_local.mk里加入NDK_PROJECT_PATH
=
E:/cocos2d-2.0-x-2.0.4/samples/HelloCpp/proj.android,然后打开CMD,直接敲ndk-
build编译。这时可以如3、4、5这样设置。 3、android.mk在项目的android.mk的import_module之前添加导入模块的路劲。如:#$(call import-add-path,
E:/cocos2d-2.0-x-2.0.4)
#$(call import-add-path,
E:/cocos2d-2.0-x-2.0.4/cocos2dx/platform/third_party/android/prebuilt) $(call import-module,cocos2dx)但这2个路径显然跟项目无关,加在这需要每个项目mk都加,显然不明智。所以见4。 4、ndk-build.cmd在最后一句调用make.exe之前。加入set
NDK_MODULE_PATH=E:/cocos2d-2.0-x-2.0.4;E:/cocos2d-2.0-x-2.0.4/cocos2dx/platform/third_party/android/prebuilt可以看到ndk-build.cmd会去读取build_local.mk,所以像上面说的设置NDK_PROJECT_PATH那样设置NDK_MODULE_PATH应该也是可以的,未验证,有兴趣可以去尝试一下。 5、在cmd里敲ndk-build时,直接当成参数带在后面。可以看到1里面所说的build_native.sh里也是这样子传参进去的。未验证。 注意:改动环境变量设置时,需要重启命令提示符窗口才能生效。
相关文章推荐
- NDK编译时NDK_MODULE_PATH定义问题(cocos2d-x)(转)
- Cocos2d-x 2.2.3 使用NDK配置安卓编译环境问题之 Cannot find module with tag 'CocosDenshion/android' in import path
- cocos2d-x-2.1.4在NDK r9下的编译问题
- cocos2d-x-2.2.0_win7+vs2010搭建_eclipse+ndk-r9+cygwin搭建_教程以及编译问题汇总
- Cocos2d-x 2.2.3 使用NDK配置安卓编译环境问题之 Cannot find module with tag 'CocosDenshion/android' in import path
- cocos2d-x-2.2.0_win7+vs2010搭建_eclipse+ndk-r9+cygwin搭建_教程以及编译问题汇总
- cocos2d-x 3.2 使用ndk r10d编译问题
- NDK编译问题: Program "ndk-build" is not found in PATH 和 Unable to launch cygpath. Is Cygwin on the path?
- cocos2d-x在NDK r9下的编译问题
- cocos2d 关于Eclipse 提示 :please define NDK_ROOT的问题(解决Eclipse不会自动编译CPP的问题)
- cocos2d-x-2.1.4在NDK r9下的编译问题
- cocos2d-x-2.2.0_win7+vs2010搭建_eclipse+ndk-r9+cygwin搭建_教程以及编译问题汇总
- cocos2d-x-2.2.0_win7+vs2010搭建_eclipse+ndk-r9+cygwin搭建_教程以及编译问题汇总
- 使用ec编译cocos项目是出现Android.mk文件报错Are you sure your NDK_MODULE_PATH variable is properly defined 的解决办法
- 关于NDK_MODULE_PATH的问题
- cocos2d-x在NDK r9下的编译问题
- NDK编译问题: Program "ndk-build" is not found in PATH 和 Unable to launch cygpath. Is Cygwin on the path?
- cocos2dx, 编译android 的NDK_MODULE_PATH的设置
- NDK_MODULE_PATH造成Android版无法编译
- NDK_MODULE_PATH 的问题