编辑 The answers to this post要么说自己编译——我不想这样做——要么安装qtbase5-dbg,它不再是Ubuntu版本的一部分。那么如果没有这个包就没有办法实现这一点吗?每个 Qt 5.X 版本不应该有不同的调试符号吗?
我正在尝试将 Qt 源(我使用 Qt 维护工具与 Qt 一起安装)添加到 QtCreator,但无法使其工作。我已经查看了各种网站寻求帮助,但仍然没有运气。由于我正在尝试开发 Qt3D 小部件,因此我需要进入 Qt 源代码以了解 Qt3D 的工作原理。
与许多其他人一样,当我转到“选项”>“调试器”并在“源路径映射”下单击“添加 Qt 源...”时,它会添加 /home/qt/work/qt
为 源路径
和 /home/[我的用户名]/Qt/5.14.2/Src
(后者是我选择的文件夹)。
由于我无法进入 Qt 源代码,我认为源路径
是错误的。我尝试按照 this answer 中的步骤操作但是当我在断点处停止后将鼠标移动到调用堆栈中的函数调用上时,不会产生任何路径 - 只是函数名称和地址。
有人还指出,编译后的 Qt 库在获取信息时不得包含 stripped
,如下所示:file libQt...
。但这就是文件 libQt53DCore.so.5.14.2
给我的:
libQt53DCore.so.5.14.2: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=d764882c0c26814e30d63a4d4719143e14e4c735, not stripped
所以我认为这没问题。虽然我自己构建了 Qt 并且 file libQt53DCore.so.5.15.0
产量
libQt53DCore.so.5.15.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=88eeb269ff68f0b71e3612d1a538503676da3790, with debug_info, not stripped
即带有 debug_info 的附加。
不幸的是,构建 Qt 会导致 20 GB 的构建,我必须为多个 Qt 版本执行此操作。那么如何正确设置 QtCreator 以便我可以进入 Qt 源代码。
最佳答案
几个小版本之前,Qt 在维护工具中添加了“Qt 调试信息文件”。 它们包含库的调试信息。
这意味着,如果您调试并想要进入人类可读的 Qt 库代码,您必须安装它们。
关于c++ - 如何在 Ubuntu 中将 Qt 源添加到 QtCreator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63721279/