zoukankan      html  css  js  c++  java
  • 支持源码单步调试QT库编译笔记

    支持源码单步调试QT库编译笔记

     

    编译环境:windows 10

    编译工具:mingw_4_4_0

    Qt源码版本:qt-everywhere-opensource-src-4.8.5(下载地址:http://download.qt.io/archive/qt/4.8/4.8.5/

     

    1、确定已经安装合适的编译工具,本次编译采用mingw_4_4_0。可以在cmd输入以下命令检测是否已经正确安装。

    l  gcc –version

    l  g++ --version

    l  mingw32-make –version

    如果提示不是内部或外部命令,也不是可运行的程序或批处理文件。请检查是否已经将{mingwDir}/bin路径添加到系统环境变量path中。

     

    2、正式编译前的配置

    在正式编译前配置或裁剪Qt源码,进入{ qt-everywhere-opensource-src-4.8.5}目录打开configure文件,查找以下字段:

    QT_DEFAULT_BUILD_PARTS=”libs tools examples demos docs translations”

    根据需求,可进行必要裁剪。例如当只需要Qt库时,可以把examples,demos,docs删除,加快编译速度。

     

    接着通过configure工具,生成makefile文件。

    通过cmd进入到{ qt-everywhere-opensource-src-4.8.5}目录下,输入:

    configure –help

    即可查看配置参数说明,带*的参数为默认使用参数,带+号的参数要经过评估才能确定是否能使用。

    下面说明几个常用的参数:

    参数

    说明

    -release

    只生成release版本的库

    *-debug

    只生成debug版本的库

    -debug-and-release

    生成两个库,包括release库与debug

    -opensource

    编译开源版

    -commercial

    编译商业版,需要提供密钥

    *-shared

    生成动态链接库

    -static

    生成静态链接库

    -platform <spe>

    知道编译平台,<spe>为编译平台

     

    本次编译配置命令为:

    configure –debug –opensource –fast –platform win32-g++ -no-webkit –no-s60

    (如果想使用VS的编译器,可以将win32-g++改为win32-msvc2013VS2013版本))

    输入该命令后,会开源许可证的提示,安装提示输入’y’后直接跳过,等待10分钟左右,会提示配置完成。

     

    3、正式编译

    正确配置结束后,直接键入mingw32-make进行编译,2个小时以后,即可编译完成。

    (如果使用的是VS编译器,则需要进入VS开发人员命令行,进入源码目录后使用nmake进行编译)

     

    4、编译后使用

    方法一:通过Qt Creator使用

    打开Qt Creator,通过菜单栏-工具-选项打开设置窗口,进入下图选项卡:

    点击添加,选择{ qt-everywhere-opensource-src-4.8.5}in目录下的qmake.exe。再切换到下图选项卡:

    添加一个新的构建套件,配置如上图所示(原先使用了mingw4_4_0GDB调试器,无法中QTC进行调试,切换到mingw4_9_2GDB调试器,即可正常调试,猜测是QTC版本太高,不支持低版本的mingw的调试器)。

     

    之后新建一个工程,选择该套件进行编译即可。在调试模式下,支持单步调试进Qt源码中。

     

    方法二:命令行编译

    { qt-everywhere-opensource-src-4.8.5}in路径添加到系统环境变量path 中,使用以下命令测试是否添加正确:

    qmake –version

     

    正确安装后,cmd命令行下,进入工程目录{workdir},使用如下命令生成可执行文件:

    qmake -project

    qmake

    mingw32-make

    {workdir}debug目录下可找到可执行文件。

     

    (如果是VS的编译器则使用qmake -r -spec win32-msvc2013然后执行nmake,需要在VS2013 开发人员命令提示中使用

    或者qmake -r -spec win32-msvc2013 -tp vc生成vcxproj工程文件,双击打开,使用VS编译)

     

    5、编译后对源码进行修改

    方法一:

    { qt-everywhere-opensource-src-4.8.5}src路径下每个子文件夹都有其对应的pro文件。例如现在需要修改QmessageBox,该模块位于gui目录下,只需通过Qt Creator打开gui.pro文件(正常情况下可以双击打开)。选择一个构建套件,要求是编译器必须与原先编译源码时一样。之后进入项目配置视图,清除自动生成的qmakemake构建步骤,添加自定义构建步骤,结果如下图所示:

    只需键入mingw32-make即可(如果采用VS编译器,键入nmake)。

    修改QmessageBox完成后,构建工程即可(点击运行会弹出一个对话框,提示无法找到可执行程序,忽略即可)。之后Qt库会自动更新,其他选择该Qt库的工程无需任何调整。

     

    注意!不要执行qmake操作!!

     

    方法二:

    直接修改QmessageBox,修改完成后,通过cmd命令行进入到gui文件夹,使用mingw32-make命令(如果采用VS编译器,键入nmake),之后同样会自动更新相应的Qt库。


     
  • 相关阅读:
    #region...#endregion: C# syntax
    Regular Expression in C#
    北京邮电大学网络与交换技术国家重点实验室
    C#: 得到系统中的环境变量(源代码)
    Contrasting C# and Java Syntax(摘录)
    Using ZipLib to create a Zip File in C#
    SQL Server DO's and DONT's 摘录
    SQL View 的使用语法与原则
    时隔两年
    VS 里的快捷键定制
  • 原文地址:https://www.cnblogs.com/foundkey/p/5956452.html
Copyright © 2011-2022 走看看