折腾了3天,终于配置好了linux版的cocos2dx3.0的开发环境(不包括安卓环境),心中还是有点小激动的。把过程和注意事项和大家分享:
-----------------------------------------------------
系统环境:
Ubuntu 14.04 LTS 64bit
Eclipse 4.4.1 CDT
cmake 2.8.12.2
----------------------------------------------------
从官网下载了最新版本cocos2d-x-3.3.zip,解压缩,产生了如下文件:
接下来通过cocos命令创建一个项目:
cocos new -l cpp HelloTest
使用cmake生成makefile:
(此处略去n多信息)
现在开始用make编译:
(此处省略n行编译信息)
同时显示出游戏的界面:
----------------------------------------------------------
注意一些遇到的问题:
- 问题1:如果编译的过程中出现大量有关glfw开头的未定义的应用,说明你的glfw库版本不对,我就遇到过。后来发现是我同时安装了glfw2和glfw3,结果导致冲突,最后执行命令卸载glfw2即可:
sudo apt-get remove libglfw2
- 问题2:如果在执行build_native.py的时候遇到Couldn't find the gcc toolchain. 就是NDK版本不对,一般来说是版本太低了。升级NDK版本即可解决
- 问题3:如果调试的时候,发现Unfortunately,Hello Cpp has stopped,我当时是用一个arm的核心的AVD替换了atom核心的AVD就成功了
- 问题4:如果在build的时候,eclipse提示NDK_ROOT not defined. Please define NDK_ROOT in your environment,而我确实在环境变量里有这个变量,那就要添加NDK_ROOT添加到了ADT设置C/C++ /Build/environment中
- 问题5:自己新增一个场景类以后,发现编译不通过,提示未定义的引用,这时候就要进入JNI的目录,在Android.mk文件里新增那个cpp文件
- 问题6:如果想要编一个类似打飞机的游戏,需要竖屏,于是网上有人说,只要将AndroidManifest.xml中的android:screenOrientation的值改为portrait即可,真机运行正常,不过在模拟器中发现,虽然是竖屏了,但是方向180度颠倒,很郁闷。网上查了下,又有人说将该值改为reversePortrait。问题解决。(真机竟然还是正确的方向!太神奇了!)
- 问题7: schedule_selector中应用的函数必须有一个float参数,不然会造成static_cast异常