您的位置:首页 > 其它

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里

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: