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

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)的Hello​World.sln可以看到如下各种lib的引用:


Cocos2d库:​



Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libcocos2d", "D:\cocos2d-x-3.8\cocos\2d\libcocos2d.vcxproj", "{98A51BA8-FC3A-415B-AC8F-8C7BD464E93E}"

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



​​​
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: