cocos2d-x2.1.4以后就不能支持用VS2010模板方式新建工程了,而是用麻烦的python模板。其实下载最新的cocos2d-x 2.20版本只要build_win32.bat执行成功在VS2010里也能自动生成以前熟悉的模板,不过我在公司的电脑里却没有编译成功,很烦不管它了
不用VS模板新建支持LUA工程方法
1.通过执行createProject.bat方法建一个工程,如起名:TestLua (createProject.bat文件内容下面帖出)
2.你会发现包含了libcocos2d,libExtensions,libBox2D,libchipmunk等附加工程,但是没有liblua工程,
需要手动从解决方案里添加liblua工程.其实如果你不需要libBox2d,libchipmunk等工程可以直接从解决方案里删掉
具体:右击解决方案->添加->现有项目,选择“cocos2d-x-2.1.4\scripting\lua\proj.win32”里的liblua.vcxproj即可
3.这时编译会出现“XXX.obj找不到CCLuaEngine::defaultEngine()”错误,很奇怪,还要在你的启动项目,如"TestLua"里加入目录“cocos2dx_support”,
内容可添加“$SDK\scripting\lua\cocos2dx_support”把里面的文件都包含进到你的项目中
4.这时编译还会跳出缺少XXX文件的错误,这时需要 项目属性->C++->附加包含目录,加入四个路径:
$(ProjectDir)..\..\..\scripting\lua\cocos2dx_support
$(ProjectDir)..\..\..\scripting\lua\lua
$(ProjectDir)..\..\..\scripting\lua\tolua
$(ProjectDir)..\..\..\scripting\lua\src
$(ProjectDir)..\..\..\scripting\luajit\include
$(ProjectDir)..\..\..\extensions\network
$(ProjectDir)..\..\..\external\libwebsockets\win32\include
注:$(ProjectDir)就是你的项目路径,这里最好不要出现绝对路径如“d:\cocos2d-x\scripting\lua\lua”之类的绝对路径
如果还缺少相应文件可搜索它,再加入路径
5.这时编译还会报错,什么lua下的tovariable之类找不到,这是lua库没加入的原因,检查你的liblua.lib,lua51.lib,lua51.dll在没在你的Debug.win32里,
没有搜索放进去,然后就是最关键一步,TestLua工程属性->链接器->输入->附加依赖项,加入liblua.lib和lua51.lib即可
6.这样你就可以把官方示例HelloLua中的AppDelegate.cpp,AppDelegate.h和Resource文件夹拷到你的工程里来,应该就能正常运行
附:createProject.bat文件
@echo off
set /p projectName=请输入项目名称:
if "%projectName%"=="" goto inputError
set /p packageName=请输入包标示名:
if "%packageName%"=="" goto inputError
create_project.py -project %projectName% -package %packageName% -language cpp
pause
exit
:inputError
@echo 项目名称或者包标示名不能为空!
pause
此文件丢到cocos2d-x2.2目录下的tools\project-creator目录内,每次双击就可新建一个工程,不用手打命令了