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
参考了 子龙山人的方法: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
相关文章推荐
- VS创建cocos2d-x的win32工程移植android平台
- 关于vs创建cocos2d-x向导当前页面脚本错误的问题
- 一,VS2013下cocos2d的环境搭建以及工程创建
- 在使用VS创建 cocos2d-x 项目时遇到的一些问题
- 使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码
- 创建一个quick-cocos2d-x工程和关于sublime text的插件QuickDev的一个小问题
- cocos2d-x 2.2.2 环境配置和创建工程的一些问题
- 关于cocos2d-x-3.2版本环境的搭建和在VS环境下自己创建工程的步骤
- win32(VS)下cocos2d-x创建的工程如在mac下打包
- 解决cocos2d-x工程无法使用cocos-ext.h问题
- 备份:创建VS工程使用神经网络库——FANN
- Cocos2d-x3.14 + Win7 + VS2013开发环境创建新项目
- 高级版本VS打开低版本VS工程,无法调试的问题
- cocos2d 1.01不能运行以前版本工程的问题
- Ubuntu系统中eclipse创建空Android工程无法自动生成R.java的问题
- 创建Hibernate工程时出现"stream not available"和代码提示问题
- 解决react-native 创建工程、init过程太慢的问题
- VS2013MFC单文档工程学习笔记四 - 动态创建多个控件
- 1、cocos2d-x工程创建方法
- VS偶然碰到的问题:automation服务器不能创建对象