准备工作
1.操作系统:windows xp或windows 7
2.开发环境:visual studio 2008 或 visual studio 2010
我的当前配置:
windows 7 32位(虚拟机,在显卡处记得一定要勾选3d,2d支持,不然open gl es会报错,真机可忽略)
visual studio 2010 (未安装sp1)
你可能会有疑问,为什么要安装vs开发环境呢?当然这是有原因的,在vs下开发调试代码比较方便,开发速度快当然也是选它的重要原因。我们可以把开发好的项目,拿到ios,android下编译就可以了,基本上可以做到一处code(迁移到其它平台上或许需要做少许改动,不过这不是问题),多平台编译运行.
第一步:
下载cocos2d-x http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download
选择cocos2d-2.0-rc2-x-2.0.1
解压到自定义的英文目录,我是解压到D:\cocos2dx-2.0.1
点击install-template-msvc 安装vs的cocos2d-x模板
成功后点击新建项目的会出现cocos2d-x的模板
第二步:运行HelloWorld
点击 cocos2d-win32.vc2010 启动vs,运行HelloWorld
运行界面:
不好,崩溃了,程序错误,查看vs的输出窗口,发现有两处:
LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
可是为什么会出现这个错误呢,以下是解释:
运行时库现在包含可防止混合不同类型的指令。如果试图在同一个程序中使用不同类型的运行时库或使用调试和非调试版本的运行时库,则将收到此警告。例如,如果编译一个文件以使用一种运行时库,而编译另一个文件以使用另一种运行时库(例如单线程运行时库对多线程运行时库),并试图链接它们,则将得到此警告。应将所有源文件编译为使用同一个运行时库。有关更多信息,请参见使用运行时库(/MD、/MT 和 /LD)编译器选项
别慌,有解决之道。
打开项目属性,在“配置属性-->C/C++-->代码生成-->运行时库”中将“多线程(/MT)”修改为“多线程调试(/MTd)” ,再重新编译调试一下,这个问题解决。
再次编译运行,不好,程序又崩溃了,这次报出的错误为:
First-chance exception at 0x00000000 in HelloWorld.exe: 0xC0000005: Access violation reading location 0x00000000.
Unhandled exception at 0x00000000 in HelloWorld.exe: 0xC0000005: Access violation reading location 0x00000000.
别着急,好事总是多磨,以下是解决办法:
打开libcocos2d->include->ccConfig.h文件,搜索 CC_TEXTURE_ATLAS_USE_VAO ,将1改为0.
再次疑问,为什么会出现这个错误呢?
跟踪了下源码,发现原来是CC_TARGET_PLATFORM这个变量判断只支持32位,自然当我在64位的windows7上运行时没有出现这个错误 ,建议把 CC_TEXTURE_ATLAS_USE_VAO修改为0。
下面是CC_TEXTURE_ATLAS_USE_VAO处的说明:
默认情况下,CCTextureAtlas(许多cocos2d类)将使用VAO(顶点数组对象)。
苹果建议其使用,但他们可能会消耗大量的内存,特别是如果你大量使用时。
因此,对于某些情况下,您可能需要数百VAO对象,它可能是一个好主意来禁用它。
慢慢的处理这些问题,千万不能烦燥,再次编译运行,成功了,真是皇天不负苦心人!
再编译运行下官方的tests实例,成功出现程序界面.
第三步:
新建 自已的第一个cocos2d-x项目,在cocos2d-win32.vc2010的解决方案上面点击右键,选择新建项目,
弹出的选择框里面选择cocos2d win32 application
注意:项目的位置不要改动,名称可自定义。
现在编译调试下刚刚建好的demo,出现成功的界面,ok.万里长征第一步算是开始了。
备注:
共同学习,若有不正确之处,欢迎指出。转载请注明来处:www.cnblogs.com/dekins