环境准备和介绍:

操作系统:64位Windows 7 sp1(Microsoft Windows [版本 6.1.7601])

必要的软件和源码:

visual_studio_ultimate_2013_x86

cocos2d-x v2.2.1:http://cdn.cocos2d-x.org/cocos2d-x-2.2.1.zip

环境准备完毕后,我们解压下载下来的压缩包cocos2d-x-2.2.1.zip到文件夹,

这里我解压到H:\source目录,注意最好不要解压到根目录,在后面移植Android

平台过程中可能会出现错误,解压后如下图所示:

打开cocos2d-x-2.2.1文件夹,我们可以看到以下两个Win32平台的VS工程文件:

cocos2d-win32.vc2010.sln

cocos2d-win32.vc2012.sln

大家可以用自己的VS打开相应的工程文件,由于笔者使用的VS 2013,所以我打开

cocos2d-win32.vc2012.sln这个文件,VS 2013会提示升级工程文件,点击确定即可。

打开后可以看到VC的解决方案中有很多个工程:

那么我们编译HelloCpp这个工程看看效果,现在HelloCpp工程上点击鼠标右键,选择“设为启动项目”,

在HelloCpp项目上点击鼠标右键,在弹出菜单中选择“生成”,可以看到

下面的输出窗口正在编译我们的程序,几分钟后程序编译生成完成:

可以看到生成成功了3个项目,失败了0个,为什么生成成功了三个呢,我们在HelloCpp工程上点击右键,

选择“生成依赖项”中的“项目依赖项”,如下图

随后弹出如下窗口:

可以看到HelloCpp项目依赖于libcocos2d和libCocosDenshion这两个项目,所以一共生成成功了3个。

然后我们可以运行我们生成的文件了,在菜单中选择“调试”——“开始执行”即可启动程序:

程序启动后出现下面窗口:

ok,我们终于运行成功了cocos2d-x中的HelloCpp了。

下面来运行我们的TestCpp项目,和上面一样,将TestCpp项目设为启动项目:

参照上面,我们查看TestCpp的生成依赖:

可以看到他依赖5个项目,不过我们已经生成了其中libcocos2d和libCocosDenshion两个项目,

下面我们按照顺序来依次生成剩下的三个项目:libBox2D、libchipmunk和libExtensions。

在libBox2D上点击鼠标右键,在菜单中选择生成。

libBox2D生成成功后,用同样的方式生成libchipmunk和libExtensions。要注意的是libExtensions项目在

VS 2010和VS 2012上面编译是没有问题的,在VS2013上编译会出现错误:

双击窗口中的错误,可定位到错误所在的源文件:

然后在源文件前面 加上 #include <algorithm>,如下图所示

出错的源文件分别是 CCSkeletonAnimation.cpp和CCSkeleton.cpp。

修改后,重新生成libExtensions项目即可。现在TestCpp的项目依赖都编译好了,

最后编译TestCpp项目,然后运行,可以看到如下界面:

可以在这个程序中测试所有的cocos2d-x的特性了,大家可以用这个程序测试cocos2d-x的效果。

cocos2d-x游戏开发系列教程-编译运行我们的第一个cocos2d-x游戏程序的更多相关文章

  1. HTML5游戏开发系列教程7(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-7/ 今天我们将完成我们第一个完整的游戏--打砖块.这次教程中,将 ...

  2. HTML5游戏开发系列教程6(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-6/ 这是我们最新一篇HTML5游戏开发系列文章.我们将继续使用c ...

  3. HTML5游戏开发系列教程5(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-5/ 最终我决定准备下一篇游戏开发系列的文章,我们将继续使用can ...

  4. HTML5游戏开发系列教程4(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-4/ 这篇文章是我们继续使用canvas来进行HTML5游戏开发系 ...

  5. HTML5游戏开发系列教程8(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-8/ 这是我们最新一篇HTML5游戏开发系列文章.我们将继续使用c ...

  6. HTML5游戏开发系列教程10(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-10/ 最后我们将继续使用canvas来进行HTML5游戏开发系列 ...

  7. HTML5游戏开发系列教程9(译)

    原文地址:http://www.script-tutorials.com/html5-game-development-lesson-9/ 今天我们将继续使用canvas来进行HTML5游戏开发系列的 ...

  8. cocos2d-x游戏开发系列教程-坦克大战游戏关卡选择场景的编写下

    上篇文章写了Paddle类来处理精灵的点击.触摸事件,现在我们在Paddle的基础上 写一个MyPaddle类,来处理上一关.下一关.开始游戏按钮的点击事件. 1.类声明如下: class MyPad ...

  9. cocos2d-x游戏开发系列教程-前言

    cocos2d-x游戏开发前景: 最近企业对于Cocos2D-X开发人才的用人需求很大,而且所提供的薪资相当可观. 为满足广大向往游戏开发行业同学的需求,特推出适合新手的Cocos2D-X手游开发教程 ...

随机推荐

  1. Java -- WeakHashMap

    一.引言 Java中的引用类型由四种情况,强引用.软引用.弱引用.虚引用.关于这些的介绍可以参见鄙人另外一篇博文.                                           ...

  2. ZOJ 3607 Lazier Salesgirl 贪心

    这个题比上个题简单得多,也是超过W时间会睡着,睡着就再也不会卖了,顾客按时间顺序来的,但是可能有顾客同时到(同时到如果醒着就全卖了),并且每个人只买一块面包,也是求最大的W,使得卖出面包的平均价格最高 ...

  3. Codeforces 509C Sums of Digits 贪心

    这道题目有人用DFS.有人用DP 我觉得还是最简单的贪心解决也是不错的选择. Ok,不废话了,这道题目的意思就是 原先存在一个严格递增的Arrary_A,然后Array_A[i] 的每位之和为Arra ...

  4. 手势滑动结束 Activity(一)基本功能的实现

    喜欢听音乐的朋友可能都看过天天动听这款 app, 这款 app 有一个亮点就是在切换页面(Fragment)的时候能够通过手势滑动来结束当前页面.这里先说一下,我为什么会这么关心这个功能呢,由于前两天 ...

  5. 距离变换DT

    距离变换:计算区域中的每个点与最接近的区域外的点之间距离,把二值图象变换为灰度图象. 对于目标中一个点,距离变换的定义为改点与目标边界最近的距离. 目标点离边界约近则值越小,转换的点越暗:越远,值越大 ...

  6. Thread.sleep还是TimeUnit.SECONDS.sleep

    转http://stevex.blog.51cto.com/4300375/1285767/ 刚看到TimeUnit.SECONDS.sleep()方法时觉得挺奇怪的,这里怎么也提供sleep方法? ...

  7. C++学习笔记(十二):重载函数

    1. 什么是重载函数 假设同一作用域内的几个函数名字同样但形參列表不同.那么这些函数就称之为--重载函数. 比如: void print( const char *cp); void print(co ...

  8. JNI 详细解释

    JNI事实上,Java Native Interface缩写,那是,java本地接口.它提供了许多API实现和Java和其它语言的通信(主要是C&C++). 或许不少人认为Java已经足够强大 ...

  9. Join的实现步骤 以及连接的概念

    Join的实现步骤  以及连接的概念 我们常说连接有三种,即 交叉连接.内连接.外连接,这三者的概念很容易模糊,现在我们先放下概念,搞清楚完整连接实现的步骤: 一个完整的连接有三个步骤:.做笛卡儿积: ...

  10. jQuery选择器——全新的总结方式

    jQuery 选择器的总结 用于定位的选择器: 基本选择器:(用来进行绝对定位) $("#myELement")    选择id值等于myElement的元素,id值不能重复在文档 ...