在这篇文章中,我们将来构建cocos2dx-wp8的环境配置,首先我们需要在windows+vs环境下安装cocos2dx。
如果你对windows+vs环境下安装cocos2dx还不熟悉,请参考:Win7(64位)下 vs2012 + cocos2dx2.2配置
然后我们找到E:\cocos2d-x-2.2.5\samples\Cpp\HelloCpp\proj.wp8-xaml(我这里cocos2dx安装在E盘)下面的HelloCpp项目文件,在VS中打开。
我们会看见HelloCpp和HelloCppComponent两个项目 。
我们移除HelloCppComponent项目Classes下面所有c++头文件和源文件。接下来把win32项目编写好的代码类添加到HelloCppComponent的Classes目录下,把win32项目Resources下的资源文件添加到HelloCpp下的Assets目录中。
生成->编译。成功!!
然后点击调试进行部署,
问题来了:
错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "pch.h"”?
错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "pch.h")时,文件未预期结束。没有找到预编译指示信息的头文件"pch.h"。 (因为工程中的每个cpp文件属性默认都是使用预编译头(/YU)的,但是添加的第三方文件并没有 #include "pch.h" 预编译指示头,所以编译器在此cpp文件中一直到末尾都没有找到它) 解决方式: 1) 在解决方案资源管理器中,右击相应的.cpp文件,点击“属性” 2) 在左侧配置属性中,点开“C/C++”,单击“预编译头” 3) 更改右侧第一行的“创建/使用预编译头”,把选项从“使用预编译头(/Yu)”改成“不使用预编译头” 4) 注:每一个报错的.cpp都要如此更改哦~辛苦一下呗~ 再次生成解决方案。 如果出现错误 error LNK1181: 无法打开输入文件“E:\cocos2d-x-2.2.5\samples\Cpp\HelloCpp\proj.wp8-xaml\WP8\Win32\Debug\libcocos2d\libcocos2d.lib” E:\cocos2d-x-2.2.5\samples\Cpp\HelloCpp\proj.wp8-xaml\HelloCpp\HelloCppComponent\LINK HelloCppComponent那么找到E:\cocos2d-x-2.2.5\WP8\Win32\Debug目录下,把下面的文件夹复制到E:\cocos2d-x-2.2.5\samples\Cpp\HelloCpp\proj.wp8-xaml\WP8\Win32\Debug即可
okay~
模拟器上出现了熟悉的hello world 。
然后准备真机调试的时候,
wait!!wait!! what‘s this :
这是什么原因呢 !!
于是乎这种百度,都没有找到好的解决办法。然后怀着无奈的心情FQ,谷歌(不得不承认,谷歌大法好)终于找到原因了:
http://stackoverflow.com/questions/3563756/fatal-error-lnk1112-module-machine-type-x64-conflicts-with-target-machine-typ
那么怎么解决呢 ?
打开E:\cocos2d-x-2.2.5下面的cocos2d-wp8.vc2012.sln,在配置管理器中将Box2D,chipmunk,CocosDenshion,libcocos2d,libcocoslua,libExtensions项目的平台选择为ARM,分别重新生成解决方案。这时可以看到E:\cocos2d-x-2.2.5\WP8\ARM\Debug目录有如下文件夹
把所有的文件夹复制到E:\cocos2d-x-2.2.5\samples\Cpp\HelloCpp\proj.wp8-xaml\WP8\Win32\Debug进行替换。
重新生成调试 。手机界面上也出现了我们熟悉的hello world 。
okay~ 我们已经成功把cocos2dx-win32项目一直到了cocos2dx-wp8。