Cocos2d-x Windows 7配置备忘
Cocos2d-x在Windows下配置起来确实问题较多,但我找到的几篇文章都很给力,虽然花费了一些力气,但总算成功了。
我的环境
- Cocos2d-x-2.1.4
- android-ndk-r8e-windows-x86_64
- JDK 1.7
- eclipse 4.2.0 with CDT/ADT
参考文章
这篇文章基于cygwin来配置,文章非常详细,熟悉cygwin的人基本上可以一次成功:
How to set up the Android Cocos2d-x development environment on Windows 7
这篇文章基于NDK来配置,不需要cygwin支持(下文简称为ndk only)。文章很详细,但有些细节没有说得太清楚,对于不熟悉eclipse的人来说可能会比较纠结。另外,该文较老,其中关于JDK必须使用1.6版本的说法已经过时:
易出错点
由于上面两篇文章都很不错,我这里就不再复述过程,只说一下我在配置过程中碰到的几个纠结的地方。配置成功以能运行HelloCpp/proj.android项目为准。
要看下面的内容,必须先看完上面两篇文章,否则等于白看。
1. Library错误
导入HelloCpp项目后,在 “项目属性-Java Build Path-source” 中加入cocos2d-x-2.1.4\cocos2dx\platform\android\java
路径。然后进入“项目属性-Android-Library”,删除这里的“Reference Project”,否则怎么编译都会报错。cygwin环境和ndk only环境均会出现。切记切记!
2. NDK_MODULE_PATH 环境变量配置
具体的路径可以查看 cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.android\build_native.sh
的最后几行。cygwin环境不需要设置这个变量,直接执行 build_native.sh
即可。
这个环境变量可以配置在Windows系统环境变量中,也可以配置在Eclipse项目的builder属性中,还可以直接配置在 project/jni/Application.mk
文件中。
若配置在 Application.mk
文件中,可以这样写: NDK_MODULE_PATH:=cocos2d-x-2.1.4;cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt
3. Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
apk打包成功,安装执行后出现这个错误退出。这一般是由于C++编译失败造成。对于cygwin环境,再执行 build_native.sh
编译一次即可成功;对于ndk only环境,也需要重新执行一次编译(如果没有配置自动刷新,那么可以手动选择Run-build project)。
4. 建立自定义builder的问题
死去活来 和网上其他文章都提到为了不依赖cygwin,需要在 “项目属性-Builders”中建立一个新的buildr,调用NDK提供的 ndk-build.cmd
来编译。这样做有2个问题:
- 没有强调 Builder 的编译顺序。默认新建的Builder是处于所有已有Builder的末尾,这可能会导致 Android Package Builder 等 Builder依赖错误;
- 默认存在的 “CDT Builder” 依然是调用
bash build_native.sh
来编译,若没有安装cygwin,可能会出现下面的错误:
bash D:/cocos2d-x/cocos2d-x-2.1.4/samples/Cpp/HelloCpp/proj.android/build_native.sh clean Cannot run program "bash": Launching failed Error: Program "bash" not found in PATH
我认为正确的做法是,不必新建一个Builder,而是调整现有的Builder的属性:
- 调整 “项目属性-C/C++ Builder” 选项,将 “Build command” 的值从原来的
bash ${ProjDirPath}/build_native.sh
设置为x:\android-ndk-r8e\ndk-build.cmd
; - 调整 “项目属性-C/C++ builder-Environment” 选项,加入 NDK_MODULE_PATH 环境变量,其值与上面介绍的相同。
- 文章ID:1882
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/memo-of-cocos2d-x-windows-7-configuration/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。