CocosFrameWork 自动引入cpp库以实现跳转查看源码
2015-10-17 08:50
621 查看
CocosFrameWork集成编译好的静态库,相比Cocos2d-x源码引擎来说,CocosFrameWork框架项目更小(无需拷贝整个引擎到每一个项目)、编译更快(跳过源码引擎的第一次漫长编译)。
有人说CocosFrameWork不能修改引擎源码,其实触控官网也给了自定义CocosFrameWork的解决方案,将修改过的源码cocos gen-libs -c 重新生成新的libs即可。详细教程:自定义FrameWork教程1. 下载Cocos2d-x源码引擎(如果CocosFrameWork中自带cpp无需下载)
2. 打开CocosFrameWork的项目模板解决方案。
位置:D:\Cocos\templates\cocos2d-x-3.8\cpp-template-default\proj.win32
文件夹下的HelloWorld.sln
将其格式改为.txt (即 HelloWorld.txt)用VisualStudio打开
HelloWorls.sln
3. 在截图标注部分下方添加以下代码:
注:红色部分修改为源码引擎的位置,如果是CocosFrameWork修改为Cocos\frameworks\cocos2d-x-3.8
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "D:\cocos2d-x-3.8\cocos\2d\libcocos2d.vcxproj",
"{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}"
EndProject
4. 修改后保存,将HelloWorld.txt改回HelloWorld.sln,以后新建的项目将自动加载cpp库,这样就能跳转查看源码
5. 由于CocosFrameWork已经引入了.h(头文件),而加入上面代码后是引入.cpp和.h,因此造成了重复载入.h的时间浪费。
优化方法:将文件D:\cocos2d-x-3.8\cocos\2d\libcocos2d.vcxproj改为txt格式,vs下打开,找到738行处 <ItemGroup>标签,里面是所有.h的引用,将此标签从头到尾删除即可。
下面是引入其他库的代码:
以文本方式打开源码引擎项目模板(templates)的HelloWorld.sln可以看到如下各种lib的引用:
Cocos2d库:
EndProject
box2d库:
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbox2d", "D:\cocos2d-x-3.8\external\Box2D\proj.win32\libbox2d.vcxproj", "{929480E7-23C0-4DF6-8456-096D71547116}"EndProject
Spine库:
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libSpine", "D:\cocos2d-x-3.8\cocos\editor-support\spine\proj.win32\libSpine.vcxproj", "{B7C2A162-DEC9-4418-972E-240AB3CBFCAE}"EndProject
Bullet:
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libbullet", "D:\cocos2d-x-3.8\external\bullet\proj.win32\libbullet.vcxproj", "{012DFF48-A13F-4F52-B07B-F8B9D21CE95B}"EndProject
recast:
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "librecast", "D:\cocos2d-x-3.8\external\recast\proj.win32\librecast.vcxproj", "{41E34993-647E-4282-8384-4AB1AE31A452}"EndProject
相关文章推荐
- Cocos Studio中声音组件(ComAudio)的获取与播放
- cocos2d-x 调色
- Cocos2d-x利用Unity轻松快速设计复杂2D地形
- cocos2d-x 3.0 final 如何在android里添加广告(AppActivity.java注释部分是原作者原创,未验证)
- Cocos2d-x 2.x android下集成admob广告(二)底部banner
- cocos2dx 利用CCOrbitCamera实现扑克牌翻牌效果
- 使用VS插件在VS2012/2013上编辑和调试Quick-cocos2d-x的Lua代码
- cocos2dx 3.x 实现 A星(A*)(A-star)算法自动寻路(二)
- 小小菜之Cocos2d-x游戏开发旅程——项目实例:2048(3)
- cocostudio 资源文件夹中目录中有标点的解决方法
- 小小菜之Cocos2d-x游戏开发旅程——项目实例:2048(2)
- 小小菜之Cocos2d-x游戏开发旅程——项目实例:2048(1)
- Cocos2d-x 3.2 大富翁游戏项目开发-第五部分 单机游戏-级别选择ScrollView
- 【cocos2d-js官方文档】十三、CCSAXParser.js
- 【cocos2d-js官方文档】十二、对象缓冲池
- 【cocos2d-js官方文档】十一、cc.path
- 【cocos2d-js官方文档】十、log
- 【cocos2d-js官方文档】八、cc.game
- 【cocos2d-js官方文档】七、CCFileUtils
- 【cocos2d-js官方文档】六、cc.async