您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-x VS 工程创建问题

2012-05-21 16:23 405 查看
创建Cocos2d-x的VC工程使用vs的模版创建完成后不能直接运行,需要将头文件、依存库(lib) 和 动态链接库的路径重新在工程的属性页里设置,很不方便。

参考了 子龙山人的方法:Cocos2d-x建工程时避免copy文件夹和库,感觉还是不太方便。方法一受cocos的sdk路径限制,方法二会使所有的vc工程都带有这个属性。

现附上自己的研究方法:

一:首先添加修改系统环境变量:

添加 COCOS2DX_HOME=F:\SDK\cocos2d-x

F:\SDK\cocos2d-x 是我自己的cocos2d-x目录,大家根据需要修改。

修改 Path,在后面加上 F:\SDK\cocos2d-x\Debug.win32 就是执行F:\SDK\cocos2d-x\build-win32.bat 所生成的库目录,主要是为了dll,因为搜索DLL的路径顺序是

1:被装载程序包的执行目录。

2:当前目录。如果与执行目录不同的话。

3:Windows系统目录

4:Windows目录。

5:Path中的目录。

所以我加在了Path里。

二:修改vc模板生成脚本default.js(F:\SDK\cocos2d-x\template\msvc\CCAppWiz.win32\Scripts\1033)

修改函数AddConfigurations(红体字为修改部分)

// Additional Inlcude Directories

var strAddIncludeDir = '.;.\\win32;.\\Classes';

strAddIncludeDir += ';$(COCOS2DX_HOME)\\cocos2dx;$(COCOS2DX_HOME)\\cocos2dx\\include';

strAddIncludeDir += ';$(COCOS2DX_HOME)\\cocos2dx\\platform';

strAddIncludeDir += ';$(COCOS2DX_HOME)\\cocos2dx\\platform\\third_party\\win32\\OGLES';



if (wizard.FindSymbol('CC_USE_BOX2D')) {

strAddIncludeDir += ';$(COCOS2DX_HOME)\\';

}

if (wizard.FindSymbol('CC_USE_CHIPMUNK')) {

strAddIncludeDir += ';$(COCOS2DX_HOME)\\chipmunk\\include\\chipmunk';

}

if (wizard.FindSymbol('CC_USE_COCOS_DENSHION_SIMPLE_AUDIO_ENGINE')) {

strAddIncludeDir += ';$(COCOS2DX_HOME)\\CocosDenshion\\Include';

}

if (wizard.FindSymbol('CC_USE_LUA')) {

strAddIncludeDir += ';$(COCOS2DX_HOME)\\lua\\cocos2dx_support';

strAddIncludeDir += ';$(COCOS2DX_HOME)\\lua\\tolua';

strAddIncludeDir += ';$(COCOS2DX_HOME)\\lua\\lua';

}

//LinkTool.AdditionalLibraryDirectories = '$(OutDir)';

if (bDebug)

LinkTool.AdditionalLibraryDirectories = '$(COCOS2DX_HOME)\\Debug.win32';

else

LinkTool.AdditionalLibraryDirectories = '$(COCOS2DX_HOME)\\Release.win32';

LinkTool.AdditionalDependencies = strAddDepends;

保存,执行InstallWizardForVS2010.js生成新脚本。注销重新登录,使环境变量生效。

打开VC,重新生成工程,指定任意目录,运行,OK。

PS:

不会脚本的人伤不起呀,郁闷,一开始看不太懂,慢慢摸索。本来是想都通过修改生成模板的脚本来实现这一目的,但是实在无能为力。dll只能通过前面提到的5个路径里找。

查资料用到的网址:
http://msdn.microsoft.com/zh-cn/library/ms168475%28v=vs.110%29 http://msdn.microsoft.com/zh-cn/library/ee855621%28v=vs.110%29 http://blog.sina.com.cn/s/blog_6a0cb8bc0100uzhn.html http://blog.csdn.net/clamreason/article/details/6971868 http://topic.csdn.net/u/20071129/16/45f6d430-5cf5-49d0-bd0a-1b9580234ec6.html http://www.cnblogs.com/andyque/archive/2011/09/27/2192920.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: