cocos2d-x项目与vs2013编译

2014-12-17

cheungmine

因为C++11引入了众多开源软件的特性,导致cocos2d-x r3.3项目无法用 vs2010编译. 所以安装了vs2013, 然后编译cocos2d-x的项目. 整个过程记录如下:

1) 打开cmd, 进入cocos2d-x安装目录, 找到setup.py, 我的在:

..\cocos\frameworks\cocos2d-x\

然后运行:

python setup.py


关闭cmd再打开cmd.

2) 创建一个项目

cocos new mygame -p com.gamedev.cl -l cpp -d D:\gamedev\workspace


在D:\gamedev\workspace\目录下生成项目目录: mygame

3) 使用vs2013打开:

D:\gamedev\workspace\mygame\proj.win32\mygame.sln

编译, 报错:

LINK : fatal error LNK1104: 无法打开文件“libbox2d.lib”

项目属性->生成事件->预链接事件->命令行:

if not exist "$(OutDir)" mkdir "$(OutDir)"
xcopy /Y /Q "$(COCOS_X_ROOT)\prebuilt\win32\*.*" "$(OutDir)"
copy "$(OutDir)libbox2d_2013.lib" "libbox2d.lib"
copy "$(OutDir)libSpine_2013.lib" "libSpine.lib"
copy "$(OutDir)libcocos2d_2013.lib" "libcocos2d.lib"
copy "$(OutDir)libluacocos2d_2013.lib" "libluacocos2d.lib"

上面添加后4行.重新编译, 报警告:

AppDelegate.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/SAFESEH”规范)

去除警告, 在项目属性中修改(Debug/Release):

C++->常规->调试信息格式 = 程序数据库 (/Zi)

此外必须:

Debug/Release: C++->代码生成->运行库=多线程 (/MT)