QMake构建系统---pro文件常用配置记录

        先前一直都是使用visual studio系列开发工具,现在考虑到要移植至linux系统下。为了支持跨平台开发,就采用了QCreator开发工具。QCreator开发工具的默认的构建工具是QMake (QMake 是由Trolltech公司创建的用来为不同的平台和编译器书写Makefile的工具,是一个面向项目的系统,可以帮助应用程序,库,或者其他的组件的的构建,这一特性让你对应用程序的控制不仅局限于包含文件,构建过程中的每一步都可以被描述。而且这一过程都在编辑一个文件来实现)。而 QMake基于pro文件生产构建文件,pro文件如何配置呢?其实它的用法也很简单、但是如果不熟悉的话,可能感觉很难。熟悉后,就会感觉很简单。嘎嘎。。。直接上干货。

Qt pro文件的详细说明:

1.注释:注释是以“#”开始,至该行结束。

 2.QT :是添加或移除开发QT项目所需要的模块的。示例如下

       添加:QT += xxx1 xxx2 xxx3        (xxx可以为gui core widgets)

       移除:QT -= xxx1 xxx2 xxx3         (xxx可以为gui core widgets)

3.TEMPLATE: 该配置项确定QMake为这个项目生成那种makefile。

        常用的有以下几种形式可供选择。

        1):app:应用程序,这个是默认值,若模块项未指定, 将默认使用此项;
        2):lib:库;
        3):vcapp:VisualStudio应用程序;
        4):vclib:VisualStudio库;
        5):subdirs:这是一个特殊的模板,目录模板。

       macOS上生效:

        1):app_bundle:将可执行文件放入一个包中(这是默认设置)。

        2):lib_bundle:将库放入库包中。

        3):plugin_bundle:将插件放入插件包中。Xcode 项目生成器不支持此值

4.TARGET :用来指定最后生成目标程序的名称;

5.CONFIG:用来指定项目配置和编译器选项。这些值由QMake内部识别并具有特殊含义。

        以下CONFIG常用值控制编译器和连接器标志:

  • release:项目在发布模式下构建。如果还指定了 debug,则最后一个生效。
  • debug:项目在调试模式下构建。
  • debug_and_release:项目在调试和发布模式下构建。
  • ordered:当使用 subdirs 模板时,此选项指定列出的目录应该按照它们给出的顺序进行处理。注意:不鼓励使用这个选项。
  • warn_on:编译器应该输出尽可能多的警告。如果同时指定了warn_off,则最后一个生效。
  • warn_off:编译器应该尽可能少地输出警告。
  • exceptions:启用异常支持。默认设置。
  • exceptions_off:禁用异常支持。
  • c99:启用 C99 支持。如果编译器不支持 C99 或无法选择 C ​​标准,则此选项无效。默认情况下,使用编译器默认值。
  • c11:启用 C11 支持。如果编译器不支持 C11 或无法选择 C ​​标准,则此选项无效。默认情况下,使用编译器默认值。
  • c++11:启用 C++11 支持。如果编译器不支持 C++11 或无法选择 C++ 标准,则此选项无效。默认情况下,支持处于启用状态。
  • c++14:启用 C++14 支持。如果编译器不支持 C++14 或无法选择 C++ 标准,则此选项无效。默认情况下,支持处于启用状态。
  • c++17:启用 C++17 支持。如果编译器不支持 C++17 或无法选择 C++ 标准,则此选项无效。默认情况下,支持处于启用状态。
  • c++20:启用 C++20 支持。如果编译器不支持 C++20 或无法选择 C++ 标准,则此选项无效。默认情况下,支持处于禁用状态。
  • c++latest:启用对编译器支持的最新 C++ 语言标准的支持。 默认情况下,此选项处于禁用状态。

6. UIC_DIR 用来指定uic命令,将.ui文件转化为ui_*.h文件存放的目录。

7. RCC_DIR用来指定rcc命令,将.qrc文件转换成qrc_*.h文件存放的目录。

8. MOC_DIR用来指定moc命令,将含有Q_OBJECT的头文件转换成标准.h文件存放的目录

9.DEFINES: qmake 将此变量的值添加为编译器 C 预处理器宏。

   DEFINES_DEBUG和DEFINES_RELEASE  指的的debug模式下和release模式下。

10.DESTDIR: 用来指定目标的生成路径。

11.DEPENDPATH指定 qmake 要扫描的目录列表,以确定依赖关系。当 qmake 抓取在源代码中 #include 的头文件时,将使用此变量。

12.FORMS : 指定在编译前由 uic 处理的 UI 文件。构建这些 UI 文件所需的所有依赖项、头文件和源文件都将自动添加到项目中.

13.INCLUDEPATH: 指定编译项目时应搜索的#include 目录

14.LIBS += :指定要链接到项目中的库列表。如果使用 Unix -l(库)和 -L(库路径)标志,qmake 会在 Windows 上正确处理库(即,将库的完整路径传递给链接器)。 该库必须存在以便 qmake 找到 -l lib 所在的目录。

15.OBJECTS_DIR:指定应放置所有中间对象的目录。

16.PWD:指定指向包含正在解析的当前文件的目录的完整路径.

17.QMAKE_CFLAGS:指定用于构建项目的 C 编译器标志。可以通过分别修改 QMAKE_CFLAGS_DEBUG 和 QMAKE_CFLAGS_RELEASE 变量来调整特定于调试和发布模式的标志。

18.QMAKE_CFLAGS_WARN_OFF/QMAKE_CFLAGS_WARN_OFF:指定用于抑制/生成编译器警告的 C 编译器标志,此变量仅在设置了 warn_off/warn_on 的 CONFIG 选项时使用.

19.QMAKE_CXXFLAGS:指定用于构建项目的 C++ 编译器标志。可以通过分别修改 QMAKE_CXXFLAGS_DEBUG 和 QMAKE_CXXFLAGS_RELEASE 变量来调整特定于调试和发布模式的标志.

20.QMAKE_CXXFLAGS_WARN_OFF/QMAKE_CXXFLAGS_WARN_ON:指定用于抑制/生成编译器警告的 C++ 编译器标志。

21.QT_VERSION/QT_MAJOR_VERSION/QT_MINOR_VERSION/QT_PATCH_VERSION:

包含 Qt 的当前版本/包含 Qt 的当前主要版本/包含 Qt 的当前次要版本/包含 Qt 的当前补丁版本.

22.RC_FILE:仅限 Windows。指定目标的 Windows 资源文件 (.rc) 的名称

23.SOURCES:指定项目中所有源文件的名称

24.SUBDIRS:此变量与 subdirs 模板一起使用时,指定包含需要构建的项目部分的所有子目录或项目文件的名称。使用此变量指定的每个子目录都必须包含其自己的项目文件

25.TRANSLATIONS:指定包含用户界面文本翻译成非母语的翻译 (.ts) 文件列表.

        以上列出的25项,应该是采用QCreator开发工具常用的一些配置,红色标注的,可能是最经常使用的,紫色标注的,要根据项目具体的运行环境来设定。

        有个疑问,上面列出了这么多,该如何使用呢?  我就用我平时开发过程中采用的配置来说明下吧:(解释有问题,或者说我使用的有问题,欢迎大佬们指出

 

        上面几幅图是我平时的开发过程中使用的配置说明,如有不对,欢迎大佬指出。

        

        

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值