CocosFrameWork 自动引入cpp库以实现跳转查看源码

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


​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在VS2019中调试C++标准源码,可以按照以下步骤进行操作: 1. 在VS2019中创建一个新的项目。选择空项目模板,并指定项目的名称和位置。 2. 打开项目的属性页面。在“C/C++”选项下的“常规”选项卡中,将“预处理器定义”这一属性更改为 `_ITERATOR_DEBUG_LEVEL=0`。这将禁用迭代器调试级别,以便我们能够进行标准源码的调试。 3. 在项目中添加需要调试的标准源码文件。可以通过将标准源码文件拷贝到项目目录下,或者使用VS2019的“添加现有项”功能将文件添加到项目中。 4. 在需要调试的源码文件中,添加适当的断点。可以在所需的行上单击左侧空白区域,或者使用F9键添加断点。 5. 配置调试器。在菜单栏上选择“调试” -> “调试的属性” -> “调试引擎”。在弹出的对话框中,选择“原生”作为调试引擎。 6. 构建并运行项目。可以使用F5键或者在菜单栏上选择“调试” -> “开始调试”来启动调试会话。 7. 当程序执行到断点处时,调试器将暂停执行,并显示相关的源码和调试信息。 8. 可以使用调试器提供的功能来单步执行、检查变量的值和调用栈等信息,以便更好地理解和调试标准源码。 需要注意的是,由于标准源码通常较大且复杂,调试时可能会遇到一些挑战。因此,在调试过程中,建议着重关注与自己代码相关的部分,并使用调试器来逐步追踪和理解。 ### 回答2: 要调试C++标准源码,可以使用Visual Studio 2019提供的调试工具。以下是一些步骤: 1. 首先,需要确保已经安装了Visual Studio 2019,并创建了一个C++项目。 2. 下载并解压C++标准源码。可以从C++标准的官方网站或其他来源获取。 3. 将源码中的头文件和源文件添加到项目中。可以通过右键点击项目,选择"添加"->"现有项"来添加文件。 4. 在需要调试的代码中设置断点。可以在代码行的左侧单击添加断点,或者使用快捷键F9。 5. 启动调试。可以在菜单栏中选择"调试"->"开始调试",或使用快捷键F5。 6. 操作程序以触发断点。可以运行程序,直到断点处停止。 7. 在调试过程中,可以使用Visual Studio 2019的调试工具进行查看变量值、单步执行、查看调用栈等操作。 8. 可以在代码中的适当位置设置多个断点,以便更详细地调试。 9. 需要注意的是,C++标准源码通常比较庞大复杂,调试过程可能会比较耗时。在调试期间,可以使用调试窗口来查看变量的值和程序状态,这有助于找出问题所在。 总之,使用Visual Studio 2019调试C++标准源码需要将源码添加到项目中,并设置断点进行调试。调试过程中可以使用Visual Studio 2019提供的调试工具来检查变量值和程序状态。 ### 回答3: 要在VS2019中调试C++标准源码,可以按照以下步骤进行: 1. 下载C++标准源码:可以从官方网站或开源社区获取C++标准源码的压缩包,解压到本地。 2. 打开VS2019:启动Visual Studio 2019。 3. 创建新的空项目:选择“文件”->“新建”->“项目”,在弹出的对话框中选择“Visual C++”->“空项目”,并为项目命名。 4. 配置项目属性:在“解决方案管理器”中右键点击项目名称,选择“属性”,打开项目属性窗口。在“配置属性”下选择“常规”,确保项目配置类型是“应用程序”,平台工具集选择与其编译的标准版本匹配的平台工具集。 5. 添加源码文件:在“解决方案管理器”中右键点击项目名称,选择“添加”->“现有项”,选中你下载好的C++标准源码文件,点击“添加”。 6. 配置调试设置:在主菜单栏中选择“调试”->“选项”->“调试”->“符号文件”,勾选“Microsoft符号服务器”并勾选“加载本地符号文件”选项。 7. 设置断点:在C++标准源码中选择需要调试的函数或行,在左侧的边栏中单击设置断点。 8. 开始调试:在主菜单栏中选择“调试”->“开始调试”或按下F5键,程序将开始运行和调试。 9. 分析调试结果:在程序执行过程中,运行时会停在设置的断点处。可以使用VS的调试工具,如自动变量窗口、监视窗口等,来检查变量的值、程序的执行流程等,以便分析调试结果。 通过以上步骤,你就可以在VS2019中成功调试C++标准源码了。请注意,C++标准源码通常很大且复杂,因此在调试过程中可能需要花费一些时间来理解源码的结构和工作原理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值