如何在 Ubuntu 中将 Qt 源添加到 QtCreator?

How to add Qt sources to QtCreator in Ubuntu?

编辑 The answers to this post 要么说自己编译 - 我不想这样做 - 或者安装 qtbase5-dbg 不再是 Ubuntu 版本的一部分。那么没有这个包就没有办法实现吗?每个 Qt 5.X 版本不应该有不同的调试符号吗?


我正在尝试将 Qt 源 - 我使用 Qt 维护工具 与 Qt 一起安装 - 添加到 QtCreator,但我无法让它工作。我已经查看了各种网站寻求帮助,但仍然没有运气。由于我正在尝试开发 Qt3D 小部件,因此我需要进入 Qt 源代码以了解 Qt3D 的工作原理。

对于许多其他人,当我转到“选项”>“调试器”并在“源路径映射”下单击 Add Qt sources... 时,它会将 /home/qt/work/qt 添加为 Source Path/home/[my username]/Qt/5.14.2/Src(后者是我选择的文件夹)。

由于我无法进入 Qt 源代码,我假设 Source Path 是错误的。我尝试按照 this answer 中的步骤进行操作,但是当我在断点处停止后将鼠标移到调用堆栈中的函数调用上时,不会产生任何路径 - 只有函数名称和地址。

有人还指出,编译后的 Qt 库在从它们获取信息时不得包含 strippedfile libQt...。但这就是 file 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

即额外的 with debug_info.

不幸的是,构建 Qt 会产生 20 GB 左右的构建,我将不得不为多个 Qt 版本执行此操作。那么如何正确设置 QtCreator 以便我可以进入 Qt 源代码。

几个小版本前,Qt在维护工具中增加了“Qt调试信息文件”。 它们包含库的调试信息。

这意味着,如果您调试并想要进入人类可读的 Qt 库代码,您必须安装它们。