昨天开始打算学习Cocos2d-x,首先肯定是要在自己的电脑上配置开发环境。昨天折腾了一天,下面将自己在其中遇到的问题与解决方法跟大家分享一下。大多数会遇到的问题,我都遇到了....
1.安装vs2012 (本来想附上密钥的,但是你懂的......)
2.从官网下载Cocos2d-x-2.2.5,然后解压到某个盘或者文件夹下。
我的路径是:G:\Cocos2d-x。
官网地址:http://www.cocos2d-x.org/download
3.在G:\Cocos2d-x\cocos2d-x-2.2.5\路径下,找到build-win32.bat并且运行,会弹出控制台命令窗口,时间挺长的,建议这个时候干点别的。
如果无法运行,可以先打开cocos2d-win32.vc2012.sln这个解决方案,设置TestCpp为启动项,然后编译调试,时间很慢。有如下运行效果后,再运行build-win32.bat试试。
TestCpp运行结果:
如果以HelloCpp为启动项,则运行效果如下:
build-win32.bat运行完成后,将msvn带有InstallWizardForVS2012.js的文件夹拷贝到G:\Cocos2d-x\cocos2d-x-2.2.5\template\路径下,再双击运行InstallWizardForVS2012.js文件(最后会附上msvn文件夹下载地址)。
js文件运行成功信息:
这么做是为了能让vs2012具备cocos2d-x项目的模板,方便用户创建项目;或者可以利用G:\Cocos2d-x\cocos2d-x-2.2.5\tools\project-creator文件夹下的create_project.py文件去产生项目,具体怎么弄,这个后面再说。
还有一种办法就是:利用老版本的install-templates-msvc.bat文件(最后附下载地址),但是msvn文件夹还是得拷贝,这次不用运行js文件,直接运行install-templates-msvc.bat文件就可以了,这个执行的速度很快~
4.现在打开vs2012,在创建项目的模版里就可以看到cocos2d-win32 Application Visual c++的模板选项了。如下图:
创建完项目以后,编译运行,会报找不到XXX的错(如果没有报错......那恭喜你,后面不用看了~)
5.对于运行报错的处理:
(1)很傻的方法,但是很直接,并且项目创建路径随意。
将G:\Cocos2d-x\cocos2d-x-2.2.5路径下cocos2dx,CocosDenshion,extensions,external这四个文件复制到到自己所创建的项目的根目录下。然后拷贝G:\Cocos2d-x\cocos2d-x-2.2.5\Debug.win32路径下之前生成好的dll文件以及lib文件都复制到自己项目的Debug.win32目录里去(建议:单击右键,在“排序方式”中选择“类型”,以免遗漏)。再运行试试,应该可以运行,如果不行,可以重启vs试试。
(2)麻烦了一点,但是比上面的好一点,并且不用每次都复制东西(这些文件有点大的),缺点是项目必须创建在G:\Cocos2d-x\cocos2d-x-2.2.5下面(因为免去了四个文件的复制)。
将G:\Cocos2d-x\cocos2d-x-2.2.5\Debug.win32\路径下的文件按照类型排序,把该文件夹下的Dll文件都拷贝到C:\Windows\System32(或者system)文件夹下;把所有的lib文件拷贝到D:\Program Files(x86)\Microsoft Visual Studio 11.0\VC\lib文件夹下(VS2012安装路径因人而异)。
这个时候直接运行,应该会报错:
那就继续:
进入项目->右键单击->属性->配置属性->C/C++ ->常规->附件包含目录->编辑。
默认附加包含目录列表是如下图所示的:
我们可以点击“宏(M)”按钮,查看SolutionDir对应的值:
其中Demo_fr是我的项目名,所以附加包含的目录下根本没有那些文件夹。这就是方法(1)通过直接的拷贝这些文件夹所解决的问题。
这里我们还可以通过修改里面的值,达到同样的效果。
方法A:直接点。
直接在目录列表中添加或者修改这些文件夹的路径:
G:\Cocos2d-x\cocos2d-x-2.2.52\cocos2d-x-2.2.2\cocos2dx
G:\Cocos2d-x\cocos2d-x-2.2.52\cocos2d-x-2.2.2\cocos2dx\include;
G:\Cocos2d-x\cocos2d-x-2.2.52\cocos2d-x-2.2.2\cocos2dx\kazmath\include;
G:\Cocos2d-x\cocos2d-x-2.2.52\cocos2d-x-2.2.2\cocos2dx\platform\win32;
G:\Cocos2d-x\cocos2d-x-2.2.52\cocos2d-x-2.2.2\cocos2dx\platform\third_party\win32;
G:\Cocos2d-x\cocos2d-x-2.2.52\cocos2d-x-2.2.2\cocos2dx\platform\third_party\win32\OGLES;
G:\Cocos2d-x\cocos2d-x-2.2.52\cocos2d-x-2.2.2\external;
G:\Cocos2d-x\cocos2d-x-2.2.52\cocos2d-x-2.2.2\CocosDenshion\include;
方法B:通过自定义系统变量的方式。
右键单击桌面的“计算机”->选择属性->高级系统设置->环境变量->在系统变量中选择新建:
变量名,自己定义一个。然后变量值,就是我们cocos2d-x的路径。
见下图:
注意变量值最后面的“\”最好加上,不然在目录列表中还得自己另外打(正如SolutionDir的值,最后面也是有“\”的)。
然后,点击“确定”,一共要点击三次......
然后在附件包含目录列表中将SolutionDir修改成我们自己的变量名就好了,避免了一连串的复制黏贴
如图:
这个时候可以看到“宏”里面也出现了CocosDir,并且它的值就是你之前设置的。
点击“确定”后,再运行试试,应该可以运行,如果不行,可以重启vs试试。
(3)个人很满意的方法。避免了前面两种方法中每次的修改操作。一次修改,终身受益。
前提也是要有前面提到的msvc文件。打开在G:\Cocos2d-x\cocos2d-x-2.2.5\template\msvc\CCAppWiz.win32\Scripts\1033路径下的default.js文件。
将所有的$(SolutionDir)替换(快捷键Ctrl+H)成当前电脑上cocos2dx的路径(我的是:G:\Cocos2d-x\cocos2d-x-2.2.5\ )。
或者可以采用方法(2)中自定义一个值为cocos2dx路径的系统变量的方式,然后将$(SolutionDir)替换成$(CocosDir),这样更有利于保证js的格式,也更高大上,并且以后如果修改了cocos2dx的路径,也只要修改一下系统变量就可以了。修改完,保存之后,重新运行install-templates-msvc.bat即可(别担心,执行速度很快,或者直接执行js文件试试~)。如果上面操作都对的话,这个时候打开vs,创建一个cocos2dx项目模版,就会发现附件包含目录列表正式我们修改过后的$(CocosDir),是不是很开心,免去了以后繁琐的操作。想在任意路径创建项目,同样要记得将G:\Cocos2d-x\cocos2d-x-2.2.5\Debug.win32\路径下的文件按照类型排序,把该文件夹下的Dll文件都拷贝到C:\Windows\System32(或者system)文件夹下;把所有的lib文件拷贝到D:\Program Files(x86)\Microsoft Visual Studio 11.0\VC\lib文件夹下(VS2012安装路径因人而异)。
直接编译运行~出现我们所期待的“hello world”:
//2014-08012补充
这样修改以后项目debug运行程序XXXX.win32.exe会在:G:\Cocos2d-x\cocos2d-x-2.2.5\Debug.win32\路径下生成.....(release同理)
如果想在项目本生的根目录,那在修改上面所说的js文件的时候,下面标出的两个SolutionDir不要替换,即可。
default.js文件第215行开始:
if(WizardVersion >= 10.0) {
config.OutputDirectory = '$(
SolutionDir)$(Configuration).win32\\'
config.IntermediateDirectory = '$(Configuration).win32\\';
} else {
config.OutputDirectory = '$(
SolutionDir)$(ConfigurationName).win32'
config.IntermediateDirectory = '$(ConfigurationName).win32';
}
如果想直接运行XXXX.win32.exe,需要把resource文件下用到的图片拷贝到。exe文件所在路径下,不然程序运行后,无法找到图像,全是黑色的。
如果有大神知道更方便的方法,希望留言告知小弟,万分感谢~
=================================================================================
前面提到了python创建项目的方法,所以下面来简单说说:
(1)首先下载安装 Python
下载地址:http://www.python.org/download/ 我下载的是python-2.7.8.msi,然后安装,我装在了D盘,安装完以后D盘会出现Python27文件夹(如果是cocos2d-x2.2版本,不要下3.0以后的python,因为3.0之前python语法是:print 'hello',而3.0开始是:print('hello'),用3.0以后的版本后面的创建会报错)。
(2)然后是配置环境变量
哪里配置,文章中也提到了,这里就不重复了。可以直接把D:\Python27加在path后面,中间用英文的“;”分号(注意不要输成中文的分号“;”)隔开就好了,或者另外新建一个变量,然后再把变量加在path后面(以后修改更方便)。
(3)测试Python是否安装成功
win键 + R -> 输入cmd -> 确定(或者直接回车键),输入
python,看控制台是否识别。如果进入
python的操作,可以输入exit()退出,或者直接关闭控制台。
打开控制台,进入create_project.py的目录:
cd G:\Cocos2d-x\cocos2d-x-2.2.5\tools\project-creator
如果cd后, 目录符不在G:\Cocos2d-x\cocos2d-x-2.2.5\tools\project-creator下,再执行G:一下,确保操作目录在project-creator下再执行下面的命令:
python create_project.py -project FirstDemo -package com.cocos2dx.demo -language cpp
其中:FirstDemo 是你的项目名,com.cocos2dx.demo 是你的包名,以com开头,采用三级目录的方式。
正常情况如图:
然后在G:\Cocos2d-x\cocos2d-x-2.2.5\projects,便可以看到你创建的项目。
如果嫌弃每次通过输入命令的方式创建项目的,可以写一个简单的批处理bat文件,来自动创建项目。放在
G:\Cocos2d-x\cocos2d-x-2.2.5\tools\project-creator\目录下,以后直接双击运行即可。
最后附上下载链接:
msvn: http://download.csdn.net/detail/shuideyidi/7728565
安装模版的install-templates-msvc.bat文件: http://download.csdn.net/detail/shuideyidi/7729155
采用pyhton创建项目bat文件: http://download.csdn.net/detail/shuideyidi/7729109
python-2.7.8: http://pan.baidu.com/s/1dD1TNAL
python-3.4.1: http://pan.baidu.com/s/1sjuJQVV