本文记录下近几天花费不少时间运行通过Cocos2d-x 3.8.1的cpp-tests项目的过程与体会。
先上图庆祝一下:
运行环境:
- Windows 7 64 bits
- VMware Workstation 10.0.2+Mac OS X 10.9
- Xcode 6.1
- Cocos2d-x 3.8.1
因为近期想把拇指接龙游戏工程全面升级到最新的Cocos2d-x 3.8.1+Cocos 2.3.2环境,于是想先调试通过其伴随的示例工程cpp-tests,因为从这个示例工程中我可以找到几乎所有的升级工程需要的新的改进技术,不想却遇到不少麻烦。
处找到文章“如何在Mac OSX上运行cpp-tests”,感觉很好。只可惜这篇文章是针对Mac机的,在我的WIN7虚拟机环境下无法直接运行通过。
我的解决思路如下。
第一步
参考文章http://blog.sina.com.cn/s/blog_3e28c8a50102vmwv.html,在我的VS2013环境下调试通过cpp-tests的WIN32版本(和Android版本,稍后我也记录一下通过Android的实现过程)。
当然,我不是在虚拟机MAC下下载cocos2d-x工程,而是在Windows 7下实现下载的。下载文件是cocos2d-x-3.8.1.zip(378,644KB),下载页面是http://www.cocos.com/download/#。
第二步
通过Vmware设置虚拟机MAC(客户机)与Windows7共享上面的解压文件夹。
补充:在我设置上面的共享后,在我的MAC虚拟机桌面上出现了一个共享文件夹“Vmware Shared folders”,由于带空格字符的路径在MAC命令行下无法执行某些相关操作,所以我干脆直接在桌面上又复制一个cocos2d-x-3.8.1(强烈建议,如果你也进行这样的复制,千万不要复制解压后的文件夹,而是复制压缩的文件,即上面的cocos2d-x-3.8.1.zip,然后在MAC内部再行解压;因为解压后的文件夹cocos2d-x-3.8.1大小有9G)。
然后,进入到cocos的目录(我的路径是desktop/cocos2d-x-3.8.1/tools/cocos2d-console/bin),创建一个工程的框架,执行如下命令(举例,根据需要修改):
cocos new cpp-tests -p com.zxz.cpp-tests -l cpp -d ~/Documents
实际上,上面的命令可以写为如下格式:
python cocos.py new cpp-tests -p com.zxz.cpp-tests -l cpp -d ~/Documents
第三步
打开Xcode,然后参考上面文章,把项目cpp-tests下的Classes和Resources复制替换上面步骤刚刚创建的工程的相应的文件夹下。
注意:复制源码文件与复制资源文件方式是有区别的,细节如文章http://blog.csdn.net/fanjunxi1990/article/details/9352917所描述,在此略过。
复制结束后,务必确保源文件相应文件夹为蓝色,而资源相应文件夹为***。
第四步
如上图所示,选择项目构建类型,并选择ios模拟为iphone 4s(默认为iphone 6),然后点击运行按钮开始编译、链接过程,并试图运行工程。
编译过程中遇到的第一处错误是:curl/curl.h文件的引用问题,错误提示说此头文件没有找到,如下图所示。
分析文件路径后,把此文件所在路径添加到项目引用路径下即可,如下图所示。
提示:双击/Applications/cocos........一部分,添加新的搜索路径,我的机器上是Applications/cocos/frameworks/cocos2d-x-3.8.1/tools/cocos2d-console/bin。
经过上面修改,工程编译通过,但是链接过程又出现错误,如下图所示。
第五步
调试上述错误,花费了不少时间,主要原因是对于ios系统框架不太熟悉,最终找到参考答案URL是http://www.cocoachina.com/bbs/read.php?tid=216075。
即需要在工程中添加MediaPlayer.framework后再编译、链接。
此后,一切OK,即得如文章开始所示运行界面。