使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码

这篇具有很好参考价值的文章主要介绍了使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前段时间Cocos2d-x更新了一个Cocos引擎,这是一个集合源码,IDE,Studio这一家老小的整合包,我们可以使用这个Cocos引擎来创建我们的项目。

在Cocos2d-x被整合到Cocos引擎之前,我们可以不那么方便地在我们创建的工程里调试Cocos2d-x的代码,当我们使用了整合后的Cocos引擎,调试Cocos2d-x的代码就变得更加,非常不方便了!

使用Cocos2d-x创建的项目,在最先的版本必须是在Cocos2d-x引擎的目录下,放到其他的位置需要进行各种麻烦的设置,诸如头文件,库文件,dll等的路径设置。而且所有的项目都挤在同一个解决方案下实在是过于臃肿。于是出现了创建一个单独的解决方案这种做法,但这种做法与Cocos2d-x的源码分离了,不方便代码阅读和调试,程序崩溃时无法定位到Cocos2d-x的堆栈。

这时候要调试到Cocos2d-x的源码,需要将你的项目添加到对应的Cocos2d-x解决方案下,这时候即可以切换源码,也可以调试,只是一个简单的添加项目操作,随时可以移除,对自己的项目没有影响。这种情况下大可在自己单独的项目中进行编码开发,到需要调试Cocos2d-x的时候再回到Cocos2d-x解决方案下进行调试。虽然不那么方便,但也不算太麻烦。

使用Cocos引擎创建的项目,想要调试Cocos2d-x源码,就呵呵了,首先并Cocos自身的Cocos2d-x源码没有工程文件,也没有源码,有的只是一堆的头文件以及编译好的lib,dll。源码都没有,你怎么查看呢?关键是也无法调试到Cocos2d-x的源码,这点就非常不方便了。

折腾了一晚上,找到了比较简单的方法,希望调试Cocos引擎生成的代码,需要以下几个步骤:

1.下载与Cocos引擎对应版本的Cocos2d-x源码

2.编译生成下载完的Cocos2d-x源码

3.将使用Cocos引擎创建的项目添加到Cocos2d-x的解决方案下

4.为自己的项目添加依赖项,依赖libcocos2d项目

5.安心调试

第四个步骤在之前Cocos2d-x版本中是不需要的,但在这里如果不添加依赖,将无法加载libcocos2d的调试信息文件,也就无法调试了。另外必须先编译生成Cocos2d-x源码,否则直接编译自己工程可能会报错。另外版本必须对应,如果不对应的话可能会报错,有些函数不对应运行会直接崩溃。

添加依赖项有两种方法,第一种是在项目的生成依赖项中进行设置:

使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码,cocos2d,游戏引擎

选择自己的项目,然后勾选希望调试的源码工程

使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码,cocos2d,游戏引擎

另外一个方法是在解决方案的属性中设置

使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码,cocos2d,游戏引擎

完成设置之后libcocos2d.pdb文件加载成功,成功地在cocos2dx中断下断点。

PS.可能还有其他的方法可以来完成这样一个需求,例如指定源码目录之类的,但设置依赖项应该是最方便的了。

2015-2-4 重要补充:

Cocos引擎生成的Project想要调试还需要以下步骤:

1.将Main.cpp中,链接cocos2dx.lib的代码删除,这里会强制链接到Cocos引擎生成的无调试信息的lib,我们要链接到的是带调试信息的lib文件。

 #if _MSC_VER > 1700
 #pragma comment(lib,"libcocos2d_2013.lib")
 #pragma comment(lib,"libbox2d_2013.lib")
 #pragma comment(lib,"libSpine_2013.lib")
 #else
 #pragma comment(lib,"libcocos2d_2012.lib")
 #pragma comment(lib,"libbox2d_2012.lib")
 #pragma comment(lib,"libSpine_2012.lib")
 #endif

2.在附加依赖项中添加链接库glew32.lib,因为libcocos2d_2013.lib将glew32.lib一起链接进来了,所以链接了libcocos2d_2013.lib就不需要再链接glew32.lib了,但原始的libcocos2d.lib并没有链接它。

3.将项目属性——C/C++——代码生成——运行库,从多线程DLL(/MD)修改为多线程调试DLL(MDD)。Cocos引擎生成的DEBUG项目实际上使用的是Release的设置。

4.删除项目属性中,生成事件——预链接生成事件,命令行中的内容,避免额外的麻烦。

5.最后别忘了引用Cocos2d-x项目。文章来源地址https://www.toymoban.com/news/detail-529669.html

到了这里,关于使用“Cocos引擎”创建的cpp工程如何在VS中调试Cocos2d-x源码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cocos2d-x 3.17 推箱子 0.1

    此版本为推箱子游戏的基础版本, 后续添加如下功能 人物动画 TiledMap 解析 射线碰撞检测 下一步提示, C++算法解析 道具, 可以回退一步 通过 cocos 命令新建一个项目, 将本项目的 Reources 目录和 Classes 目录复制过去即可 使用图集绘制 Sprite , 然后手动处理碰撞检测 游戏学论著翻译

    2024年02月08日
    浏览(33)
  • cocos2d-x Android原生平台与Lua交互

    版本: cocos2d-x 语言: C++/Java/Lua cocos2d-x原生平台Android 接入第三方SDK, 需要了解 LuaJavaBridge 的使用。 它封装了用于 Java 和 Lua 的相互调用, 其调用通过 C++ 为中介,简要的流程: Lua调用Java: Lua - C++ - Java Java调用Lua: Java - C++ - Lua 以此方式来实现数据的交互, 接下来我们分别说下

    2024年02月08日
    浏览(30)
  • 解决 VS2019 调试 QT 工程时,无法查看 QT 变量的值

    本地环境: windows10 / CMake 生成的 VS2019 工程,使用 Qt5.15.2 产生问题: 调试时,QString 不提示真实内容 解决方法: 1. 在 VS 扩展菜单, 管理扩展    安装 Qt Vs Tools 工具 2. 查找 qt5.natvis.xml 文件 ( Everything 找一下, 我本地找到好几个) C:Users*****AppDataLocalMicrosoftVisualStudio16.0_e1fd65e3Exte

    2024年02月05日
    浏览(53)
  • cocos2dx学习之UIListView.cpp

    /**************************************************************************** Copyright (c) 2013-2017 Chukong Technologies Inc. http://www.cocos2d-x.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \\\"Software\\\"), to deal in the Software without restriction, including witho

    2024年02月11日
    浏览(30)
  • 解决VS2022每次创建新工程都需要重新配置opencv的问题

    解决VS2022每次创建新工程都需要重新配置opencv的问题 事情起因是我按照网上其他配置opencv的教程配置opencv后,每次重新创建编程项目都需要再重新配置一遍opencv,搜了下解决方法也没有得到有效解决,最后参照老版本vs配置opencv的方法,终于解决了,解决方法如下: 首先问题

    2024年02月10日
    浏览(31)
  • 使用开源的zip.cpp和unzip.cpp实现压缩包的创建与解压

    目录 1、使用场景 2、压缩包的创建 3、压缩包的解压 4、CloseZipZ和CloseZipU两接口的区别 

    2024年02月07日
    浏览(37)
  • windows 下使用 vscode + mingw 完成简单 c 或 cpp 代码的运行与调试

    本文为原链的镜像链接,更新可能不及时,如有能力,请访问原始链接。 基于 VS Code + MinGW-w64 的 C 语言/C++简单环境配置,专致小白 环境: Win10 21H2 19044.1381 + mingw + vscode 1.74.3 + C/C++ Extension Pack 插件 国内镜像盘: 链接 密码:1dcs 简单来说共分为 4 步 下载 mingw , vscode 和 插件 并

    2024年02月08日
    浏览(28)
  • 编程技巧 --- VS如何调试.Net源码

    如题,在VS中如何调试 .Net 源码呢? 一般来说,VS2022,都是默认启用 F12 转到定义能够看到源码,如果大家发现自己无法使用 F12 查看源码,可以在 \\\"工具\\\" - \\\"选项\\\" - \\\"文本编辑器\\\" - \\\"C#\\\" - \\\"高级\\\" - \\\"转到定义\\\",勾选所有选项就对了。 但是光以上的操作还是不够的,这样的可以查

    2024年02月05日
    浏览(46)
  • cocos游戏引擎--cocos creater2.4.10

    新建项目 打开其他项目 在 Dashboard 中,打开 新建项目 选项卡,选中 Hello World 项目模板。js   资源管理器 Scene 场景编辑器 Node Tree 层级管理器 属性检查器(Properties) 控件库 控制台(Console) 最左边选择预览窗口的比例大小,来模拟在不同移动设备上的显示效果 Rotate 按钮决

    2024年01月24日
    浏览(38)
  • VS2019如何调试C语言程序(监视操作)

            在我们编写代码的时候我们经常是遇到与答案不符啊,数组越界啊等问题,有的时候我们的错误在一些不显眼的地方,我们发现不了,但是我们可以确定是那一部分出现了错误,这个时候我就需要去调试。         小白曾经就有一段时间很煎熬,并不知道调试

    2023年04月09日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包