在Qt Creator中加入Qt源代码(在Ubuntu Linux中)

sas*_*alm 22 c++ debugging ubuntu qt

我在Ubuntu中使用Qt Creator.它是从存储库安装的,但就像现在一样,在调试时无法进入Qt源.

我怎样才能启用它?

Ser*_*nov 41

由于Qt Creator使用gdb,您需要配置gdb.首先要做的是安装Qt调试符号:

apt-get install libqt4-dbg
Run Code Online (Sandbox Code Playgroud)

或者,对于Qt5:

apt-get install qtbase5-dbg # For the qtbase package
Run Code Online (Sandbox Code Playgroud)

这将安装Qt库的调试符号.较早版本的Ubuntu有一个愚蠢的错误,需要额外的技巧来纠正这些符号文件,但在当前版本中它工作正常.

这将使gdb进入Qt方法,但没有源代码就没有乐趣.因此,假设在APT中启用了源存储库,我们需要可以像这样安装的源:

apt-get source qt4-x11
ln -s qt4-x11-4.7.0 qt # a convenience symlink
Run Code Online (Sandbox Code Playgroud)

或者,对于Qt5:

apt-get source qtbase-opensource-src
# Make a link as above, if you wish
Run Code Online (Sandbox Code Playgroud)

这将下载源,将它们解压缩到当前目录并相应地进行修补,除非当前用户无法写入当前目录,否则不需要root权限.

最后一件事是通知gdb源位置,这是通过将其放入~/.gdbinit文件中完成的:

dir ~/vita/qt/src/corelib
dir ~/vita/qt/src/gui
dir ~/vita/qt/src/network
dir ~/vita/qt/src/sql
Run Code Online (Sandbox Code Playgroud)

根据需要添加模块和更正路径.便利符号链接在这里非常有用,因此我们每次升级到新的Qt版本时都不必编辑此文件.我们只需要下载新的源代码,修补它们并更改符号链接.

请注意,即使我们已经安装了调试符号,我们仍然使用Qt库的发布版本.这意味着代码经过高度优化,并且在步入Qt二进制文件时有时会表现得非常奇怪.如果这是一个问题,那么有必要在调试模式下构建Qt,单独安装(例如,在/ usr/local/qt4-debug中)并告诉Qt Creator使用该特定安装.