NDK_MODULE_PATH 的问题
2013-08-15 17:01
274 查看
我是cocos-2dx菜鸟,最近想要学着弄弄这一强大的游戏引擎时却被困住了。在我想要编译我的链接库时总是
Are you sure your NDK_MODULE_PATH variable is properly defined。
然后我根据网上各种教程都试了一遍依旧不行,最后终于黄天不付苦心人,我发现了解决之道。当然有些教程可能有效,不过他们是eclipse做编译的,我用的是命令行有些不一样。
原因:
出现这个的原因是,因为在编译的时候它要引用cocos的Android.mk文件,而它使用的是相对于NDK_MODULE_PATH这个路径的相对路径,所以要是你不设置好这个参数,它会因为找不到mk文件而没有办法编译。
解决办法:
解决办法当然是设置正确的NDK_MODULE_PATH咯,
1.找到cocos目录下的smaple在任何一个例子下面的Cpp例子中找到那个build_native.sh脚本,在cygwin环境中执行这个shell脚本,它就会给你设置好path的值
不过这个我尝试过,有问题,它自动生成的值是类似于D:\cocos-2d\cocos2d-2.1rc0-x-2.1.2这样的值,我的cygwin不认。我想稍微了解cygwin的人都知道这是一个在Windows平台提供linux环境的这么一个东西,而linux的目录表示方式是 /cygdrive/d/cocos-2d/cocos2d-2.1rc0-x-2.1.2这样一个方式,所以在编译的时候它就不认识这个路径。同时在Windows平台环境变量的引用是%变量名%分隔则是用;(英文的分号)而在Linux平台中则是$变量名 分隔用:(英文的冒号)所以我的机器上执行了这个shell脚本后NDK_MODULE_PATH的值仍然不对。对于那些用这个方法而值是正确的同学,看看你们生成的path是linux下的形式还是Windows下的形式。这个或许行哦,我不能反驳大牛
2.也就是我的方式,将我们需要的环境变量(/cygdrive/d/cocos-2d/cocos2d-2.1rc0-x-2.1.2:/cygdrive/d/cocos-2d/cocos2d-2.1rc0-x-2.1.2/cocos2dx/platform/third_party/android/prebuilt)在Windows的环境变量里新建一个即可.注意:其形式是linux环境变量的形式
如下图
3.最直接的办法
用这个方法你可以把你想要的环境变量都这样设置,那就是编辑你<cygwin所在目录>/home/<你的用户名>/.bash_profile,用这种方式,你可以直接了当修改 你在使用ndk或者是cocos2d又或者是其他什么东西就像你在使用linux那样注意那个NDKRoot你可以任意写,也可以直接把它的值加到path里
Are you sure your NDK_MODULE_PATH variable is properly defined。
然后我根据网上各种教程都试了一遍依旧不行,最后终于黄天不付苦心人,我发现了解决之道。当然有些教程可能有效,不过他们是eclipse做编译的,我用的是命令行有些不一样。
原因:
出现这个的原因是,因为在编译的时候它要引用cocos的Android.mk文件,而它使用的是相对于NDK_MODULE_PATH这个路径的相对路径,所以要是你不设置好这个参数,它会因为找不到mk文件而没有办法编译。
解决办法:
解决办法当然是设置正确的NDK_MODULE_PATH咯,
1.找到cocos目录下的smaple在任何一个例子下面的Cpp例子中找到那个build_native.sh脚本,在cygwin环境中执行这个shell脚本,它就会给你设置好path的值
不过这个我尝试过,有问题,它自动生成的值是类似于D:\cocos-2d\cocos2d-2.1rc0-x-2.1.2这样的值,我的cygwin不认。我想稍微了解cygwin的人都知道这是一个在Windows平台提供linux环境的这么一个东西,而linux的目录表示方式是 /cygdrive/d/cocos-2d/cocos2d-2.1rc0-x-2.1.2这样一个方式,所以在编译的时候它就不认识这个路径。同时在Windows平台环境变量的引用是%变量名%分隔则是用;(英文的分号)而在Linux平台中则是$变量名 分隔用:(英文的冒号)所以我的机器上执行了这个shell脚本后NDK_MODULE_PATH的值仍然不对。对于那些用这个方法而值是正确的同学,看看你们生成的path是linux下的形式还是Windows下的形式。这个或许行哦,我不能反驳大牛
2.也就是我的方式,将我们需要的环境变量(/cygdrive/d/cocos-2d/cocos2d-2.1rc0-x-2.1.2:/cygdrive/d/cocos-2d/cocos2d-2.1rc0-x-2.1.2/cocos2dx/platform/third_party/android/prebuilt)在Windows的环境变量里新建一个即可.注意:其形式是linux环境变量的形式
如下图
3.最直接的办法
用这个方法你可以把你想要的环境变量都这样设置,那就是编辑你<cygwin所在目录>/home/<你的用户名>/.bash_profile,用这种方式,你可以直接了当修改 你在使用ndk或者是cocos2d又或者是其他什么东西就像你在使用linux那样注意那个NDKRoot你可以任意写,也可以直接把它的值加到path里
相关文章推荐
- NDK编译时NDK_MODULE_PATH定义问题(cocos2d-x)
- NDK编译时NDK_MODULE_PATH定义问题(cocos2d-x)(转)
- 关于NDK_MODULE_PATH的问题
- import-module的注意事项与NDK_MODULE_PATH的配置
- Android_NDK问题:APP_BUILD_SCRIPT points to an unknown file: <project_path>/jni/Android.mk
- 日常工作问题总结(三十一)windows获取路径的几个函数GetCurrentDirectory,GetModuleFileName,GetFullPathName
- NDK_MODULE_PATH造成Android版无法编译
- import-module的注意事项与NDK_MODULE_PATH的配置
- Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined
- cocos2dx, 编译android 的NDK_MODULE_PATH的设置
- import-module的注意事项与NDK_MODULE_PATH的配置
- NDK_PROJECT_PATH = null问题分析
- import-module的注意事项与NDK_MODULE_PATH的配置
- Cocos2d-x 2.2.3 使用NDK配置安卓编译环境问题之 Cannot find module with tag 'CocosDenshion/android' in import path
- Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined
- 使用ec编译cocos项目是出现Android.mk文件报错Are you sure your NDK_MODULE_PATH variable is properly defined 的解决办法
- import-module的注意事项与NDK_MODULE_PATH的配置
- modulenotfounderror: no module named 'matplotlib._path'问题的解决
- Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined
- NDK编译问题: Program "ndk-build" is not found in PATH 和 Unable to launch cygpath. Is Cygwin on the path?