转载请注明出处:http://blog.csdn.net/cywn_d/article/details/25775019
如果是原来使用cocos2dx 2.x要升级到3.0的项目,可能需要替换cocos2dx 3.0的这些库,3.0相对于以前的版本改变还是挺大的,所以最坑的还是替换后所产生的各种编译问题。千里之行始于足下,所以我们要先试试新建一个demo试试3.0可能有哪些编译问题需要解决。
新建一个新的项目,将cocos2dx 3.0需要用到的一些文件导入,主要有以下几个文件夹:build、cocos、extensions、external.
build文件夹里面只需要保留一个cocos2d_libs.xcodeproj文件。将这个文件添加到新建项目的Framework文件夹下
完成了以上这两步,接下来就是添加一些库了,可能有几个不是必须的,但是如果使用cocos2dx 3.0提供的Demo下的cpp-empty-test的代码,就要用到以下全部的库。
接下来是添加Target,因为我创建的是空项目,所以只需要以下三个:
再然后是添加User Header Search Paths,需要添加两个,一个是Targets下的,一个是Project下的
然后是添加Processing的编译参数,也是有两个
Targets下的Debug:
Targets下的Release:
Project下的Debug:
Project下的Release:
添加了这些,编译就可以通过了。我直接复制了Demo提供的这些代码测试,成功运行。
因为我创建的是ARC项目,但是Demo是非ARC的,所以有几个小地方需要修改一下,首先是去掉所有的delloc,然后是AppController.mm下的eaglView要加上(__bridgevoid*)。
期间可能会出现以下几个编译问题:
1.xxx.h not found之类的问题
这应该是你添加的User Header Search Paths路径不对,你要根据cocos2d那些文件夹在你的项目下的路径来设置。
2."_OBJC_CLASS_$_xxx", referenced from: objc-class-ref in xxx.o
这应该是Link Binary WIth Libraries下面添加的库不全,你看提示信息说哪个文件找不到,看看这个文件是那个xx.framework下的,就添加响应的framework。