如何在qtcreator中编译qt源码

首先回答这个问题。在qtcreator中是无法直接对qt源码进行编译的。但我们可以通过间接的方法实现qt源码的修改,并且在qtcreator中引用。

如果只是想在qtcreator中查看qt源码,方法很简单,操作如下(点击链接查看我的另一博客即可):

qtcreator编译qt源码 qtcreator build qt source

这篇博客里说到了如何进入qt源码调试,但是当我们在qt源码中保存了自己加的代码时,再进行调试,却发现qtcreator没按套路出牌。加的代码是无效的。其实一般情况下我们只需要能跟进qt源码里就满足需求了,但如果我们怀疑qt有bug时怎么调试呢?方法来了。首先我们要编一个debug_and_release版本。然后我们修改源码,再次编译,拷贝qt动态库,用qtcreator调试即可。

步骤如下:

1、把mingw32-make.exe所在目录加入环境变量,要不然就会不方便或者报程序找不到。比如我的目录是:D:\Qt\Qt5.12.10\Tools\mingw730_64\bin

2、进入到qtbase目录进行编译。我们先要配置一下,打开cmd,进入qtbase目录,我的是D:\Qt\Qt5.12.10\5.12.10\Src\qtbase,然后输入

configure.bat -prefix D:\Qt\Qt5.12.10\5.12.10\mingw73_64_debug -debug-and-release -platform win32-g++ -opensource -confirm-license -nomake tests -nomake examples -skip qtwebengine  -qt-zlib -opengl desktop

 这是一些配置一般比较快。其中D:\Qt\Qt5.12.10\5.12.10\mingw73_64_debug为安装目录。如果顺利,接下来就可以编译qt源码啦。

3、编译qt源码。在qtbase目录下输入

mingw32-make -j4

-j4代表多线程编译,4代表4个线程。编译时间会有点长。编译完后执行

mingw32-make install

就把头文件、动态库考到安装目录下了。

4、现在我们修改qt源码,比如我们qDebug一下:

 然后我们重新编译widget类。

我们进到目录D:\Qt\Qt5.12.10\5.12.10\Src\qtbase\src\widgets下,输入

mingw32-make -j4

很快我们就编译完了。编译完会生成Qt5Widgets.dll和Qt5Widgetsd.dll到qtbase下的bin目录下,把这2个动态库考到D:\Qt\Qt5.12.10\5.12.10\mingw73_64\bin目录下,然后我们执行我们程序的运行或debug时,就会有输出打印。

完美!


版权声明:本文为cglcglcgl原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。