您的位置:首页 > 移动开发 > Cocos引擎

COCOS2D-X VS2012 HELLOCPP调试

2014-03-08 16:53 399 查看
注意,这篇文章并非基于任何移动设备,而是完完全全基于Windows,面向Desktop调试。


一、Cocos2d-X 跨平台开发工作流


根据这几天的学习,看起来Cocos2d-X跨平台开发的工作流是这样的:

使用OS X操作系统;

在XCode上开发项目;

在iOS设备或者iOS模拟器上调试;

在Android设备上调试;

重复上面的过程。


当然,对于一个讨厌在Apple那套审美疲劳的桌面环境下工作的人来说,工作流可以是这样的:

使用Windows或者Linux操作系统;

在Eclipse上开发Android项目;

在Android设备或者Android模拟器上调试;

使用OS X操作系统;

在iOS设备或者iOS模拟器上调试;

重复上面的过程。

我找了一些关于Eclipse+NDK调试C++代码的文章,发现好像有一点点麻烦。所以我或许可以借用MS Visual Studio来基于Desktop调试C++代码,正常后再去Eclipse调试?

当然,我依然可以用Eclipse作为主IDE来基于Desktop调试C++代码,然后在合适的时候调用NDK来调试。

无论使用VS还是用Eclipse来作为主要的IDE,都能够大幅降低在移动设备或者移动设备模拟器上花费的调试时间。当然,与移动设备紧密联系的功能(例如重力感应,多点触摸),还是必须在设备上调试的。

既然cocos2d-x提供了win32的sample,那么还是用VS2012来试试把。就让我这个从没用过VS的人来尝尝这个神级IDE的味道。


于是,我的工作流可能就变成了这样(只是可能):

使用Windows操作系统;

在VS2012上开发Desktop项目;

在Eclipse中建立Android项目,引用VS2012项目中的C++源码;

在Android设备或者Android模拟器上调试;

使用OS X操作系统;

在XCode中建立iOS项目,引用VS2012项目中的C++源码;

在iOs设备或者iOS模拟器上调试;

重复上面的过程。

那么,这就开始吧!


二、我的环境

Cocos2d-x-2.1.4 安装路径:D:\cocos2d-x\cocos2d-x-2.1.4

Visual Studio 2012 Express (这个版本是免费的,直接在微软网站注册就可以得到注册码)


三、 调试流程


1. 项目文件”"已被重命名或者不在解决方案中



用VS打开 
D:\cocos2d-x\cocos2d-x-2.1.4\samples\Cpp\HelloCpp\proj.win32
 项目之后,试图编译,就出现了这个错误。

原因是由于原始项目引用的某些项目不存在,主要是引用的
libcocos2d
 和 
libCocosDenshion
 两个库不存在。删掉它们就不会报错了,可以在下图所示的地方找到它们:




2. 编译libcocos2d库

当然,上面的项目依然是无法编译的,因为Cocos2d-X库还没有编译。

使用VS2012打开 
D:\cocos2d-x\cocos2d-x-2.1.4\cocos2dx\proj.win32
 项目,然后生成它。



下面是部分生成过程中的输出信息,视电脑配置情况时间应该从几分钟到十几分钟不等。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

1>------
已启动生成:
项目:
libcocos2d,
配置:
Debug
Win32
------

1>  cocos2d.cpp

1>  CCScheduler.cpp

1>  CCDirector.cpp

1>  CCConfiguration.cpp

1>  CCCamera.cpp

1>  CCScriptSupport.cpp

1>  CCTextFieldTTF.cpp

1>  CCIMEDispatcher.cpp

1>  CCKeypadDispatcher.cpp

1>  CCKeypadDelegate.cpp

1>  CCTouchHandler.cpp

1>  CCTouchDispatcher.cpp

1>  CCTouch.cpp

1>  CCTMXXMLParser.cpp

1>  CCTMXTiledMap.cpp

1>  CCTMXObjectGroup.cpp

1>  CCTMXLayer.cpp

1>  CCTileMapAtlas.cpp

1>  CCParallaxNode.cpp

1>  CCTexturePVR.cpp

1>  正在生成代码...

1>  正在编译...

…………

1>  cocos2d.vcxproj
->
D:\cocos2d-x\cocos2d-x-2.1.4\cocos2dx\proj.win32\Debug.win32\libcocos2d.dll

==========
生成:
成功
1
个,失败
0
个,最新
0
个,跳过
0

==========

生成完毕之后, 
D:\cocos2d-x\cocos2d-x-2.1.4\cocos2dx\proj.win32\Debug.win32
 目录下会出现一堆dll、lib、obj文件。

VS的确是赞啊……居然都不用配置,而且看一眼就会用了……


3. 编译libCocosDension库

直接把 
D:\cocos2d-x\cocos2d-x-2.1.4\CocosDenshion\proj.win32
 这个项目添加到刚才 libcocos2d 解决方案,然后再生成 
libCocosDenshion
 库,在默认情况下,生成的文件也会集中在 
D:\cocos2d-x\cocos2d-x-2.1.4\cocos2dx\proj.win32\Debug.win32
 目录中。



当然,也可以不将这两个项目放在同一个解决方案中。但这样就需要把libcocos2d生成的dll和lib文件复制到libCocosDenshion的Debug.win32目录,否则会导致libCocosDenshion无法成功编译。


4. 编译HelloCpp项目

用上面同样的方法将HelloCpp项目也加入到libcocos2d解决方案。然后设置依赖项和生成顺序:





将HelloCpp项目设置成启动项目(右键即可搞定):



有兴趣的话,还可以单独设置一下HelloCpp项目的输出路径,否则也会生成到 
D:\cocos2d-x\cocos2d-x-2.1.4\cocos2dx\proj.win32\Debug.win32
 目录中。

按下“本地Windows调试器”按钮,结果就是酱紫了:



不过不知道为何,我使用Release生成的exe文件不能直接双击显示,但我已经很满足了。至少我第一次使用VS的经历,还是蛮圆满的 


本文链接:http://zengrong.net/post/1884.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息