1、Cocos2d-x 在Windows7环境下的安装和编译(2.2.3)
系统版本:Windows 7 32bit/64bit
VS版本:Visual Studio 2010
cocos2d-x版本:cocos2d-x 2.2.3
python版本:2.7(可选)
建议安装python 2.7,如果使用 3.x 可能需要修改脚本,具体请见以前的文章。官方一直推荐使用它来创建项目。
老规矩,依旧是安装问题:
新版本的cocos2d-x修复了以前的关于解决方案的一些BUG,但是依旧留存了一些问题(对于有强迫症的我来说,必须0错误解决心里才舒服)
无论是直接点击sln还是build-win32.bat都会在部署生成解决方案(Release)时会出现2个生成失败,分别是 AssetsManagerTest 和 HelloLua。
解决的方法是:
AssetsManagerTest项目上右键属性 -> 配置属性[Release] -> C/C++ -> 常规 -> 附加包含目录 -> 点中,倒三角,编辑,在最后引导路径到pthread.h文件夹(pthread.h 在 cocos2dx\platform\third_party\win32\pthread 文件夹中)
HelloLua项目上右键属性 -> 配置属性[Release] -> 链接器 -> 输入 -> 附加依赖项 -> 点中,倒三角,编辑,增加 pthreadVCE2.lib
保存,重新编译sln或执行bat。
如果是直接编译的sln,还需要用以下脚本新建一个bat,放在与sln相同的目录下,并执行:
@echo off echo./* echo. * Check the cocos2d-win32 application "TestCpp.exe" ... echo. */ echo. pushd ".\Release.win32\" set CC_TEST_BIN=TestCpp.exe echo./* echo. * Run cocos2d-win32 tests.exe and view Cocos2d-x Application Wizard for Visual Studio User Guide. echo. */ echo. xcopy /E /Y /Q "..\samples\Cpp\TestCpp\Resources" . xcopy /E /Y /Q "..\samples\Cpp\HelloCpp\Resources" . xcopy /E /Y /Q "..\samples\Lua\HelloLua\Resources" . xcopy /E /Y /Q "..\samples\Lua\TestLua\Resources" . xcopy /E /Y /Q "..\samples\Cpp\SimpleGame\Resources" . xcopy /E /Y /Q "..\scripting\javascript\bindings\js" . xcopy /E /Y /Q ..\samples\Javascript\Shared\tests" . xcopy /E /Y /Q "..\samples\Javascript\Shared\games\MoonWarriors" . xcopy /E /Y /Q "..\samples\Javascript\Shared\games\WatermelonWithMe" . xcopy /E /Y /Q "..\samples\Javascript\Shared\games\CocosDragonJS\Published files iOS" . if not exist "%CC_TEST_BIN%" ( echo Can't find the binary "TestCpp.exe", is there build error? goto ERROR ) call "%CC_TEST_BIN%" popd start http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Cocos2d-x_Application_Wizard_for_Visual_Studio_User_Guide goto EOF :ERROR pause :EOF
这样例子就可以完美执行了。
用以下命令执行 .\tools\project-creator 目录下的 create_project.py 可以在 .\projects 创建新项目:
python.exe create_project.py -project 项目名称 -package 包名称 -language cpp
涉及到平台方面的还有就是编译了。如果要到Mac下去编译,只需要在Mac下建立相同名称的工程,复制Win32项目下的Class和Resource中的文件(保证Win32下开发也是将代码和资源放到这两个文件夹中),在Xcode添加代码,并编译就可以了。(需要注意的问题除了大小写,还有就是尽量不要用到非iOS或ObjC支持的东西,如API,某些对象的特性,Android 类似)。