Qt 编译方式之 qmake

这篇具有很好参考价值的文章主要介绍了Qt 编译方式之 qmake。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

QMake简介

Qt 的帮助文档中对于 qmake 是这样介绍的:

Qt 编译方式之 qmake

 本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

qmake工具有助于简化不同平台上开发项目的构建过程。它自动生成生成makefile,因此创建每个makefile只需要几行信息。您可以将qmake用于任何软件项目,无论它是否使用qt编写。

qmake 是 Qt 工具包中带的一个非常方便的工具。可以用于生成 Makefile 以及各种工程文件,还可以生成 Microsoft Visual Studio 可以使用的项目文件等。 最关键的是它可以自动解决依赖关系,不用手写 Makefile,而且是跨平台的。

qmake 语言

1. 注释

qmake中的注释和代码中不同,是以符号 ‘#’ 开头。

# 这是一个注释

2. QT

指定项目使用的qt模块,在C++实现级别,使用QT模块使其头文件可用于包含,并使其与二进制连接。默认情况下,qt包含core和gui,确保无需进一步配置即可构建标准的gui应用程序。如果想要构建一个没有 qt-gui 模块的项目,需要使用 “-=” 操作符排除gui。

QT -= gui # 去除 gui 模块,只使用 core 模块

QT += core gui widgets qml network # 使用了 core gui widgets qml network 这些模块

3. TARGET

指定目标文件的名称,默认情况下包含的项目文件的基本名称。

TEMPLATE = app
TARGET = myapp
SOURCES = main.cpp

此项目运行之后会生成一个可执行文件,Windows下为myapp.exe,Linux下为myapp。

4. TEMPLATE

模板变量告诉qmake为这个应用程序生成哪种makefile,有以下选项可供选择:

Qt 编译方式之 qmake 

5. CONFIG

具体项目配置和编译器选项,值由qmake内部识别并具有特殊意义。

Qt 编译方式之 qmake

 

6. DEFINES

qmake添加这个变量的值作为编译器C预处理器宏(-D选项)。
简单的例子:

在pro文件中添加:
DEFINES += MY_DEFINETION

在代码中使用:
#ifdef MY_DEFINETION
    // do something
#else
    // do something
#endif

7. DEF_FILE

指定要包含在项目中的.def文件。

注意:此变量仅在使用应用程序模板时在Windows上使用。

8. DEPENDPATH

指定要查找以解析依赖项的所有目录的列表。

9. DESTDIR

指定目标文件的放置位置。

例如:DESTDIR = ../../lib

10. DISTFILES

指定要包含在dist目标中的文件列表。此功能仅受unixmake规范支持。

例如:DISTFILES += ../program.txt

11. DLLDESTDIR

指定复制目标dll的位置。

注意:此变量仅适用于Windows目标。

12. EXTRA_TRANSLATIONS

指定包含将用户界面文本转换为非本机语言的转换(.ts)文件列表。

与翻译不同,额外翻译中的翻译文件只能由lrelease处理,而不是lupdate。

你可以使用 CONFIG += lrelease 在构建期间自动编译文件,并且 CONFIG += lrelease embed_translations 以使它们在qt资源系统中可用。

13. FORMS

指定在编译之前由UIC处理的UI文件。

构建这些UI文件所需的所有依赖项、头文件和源文件都将自动添加到项目中。

例如:

FORMS = mydialog.ui \
      mywidget.ui \
          myconfig.ui

14. GUID

指定在.vcproj文件中设置的GUID。

guid通常是随机确定的。但是,如果您需要一个固定的guid,可以使用这个变量来设置它。 此变量仅特定于.vcproj文件;否则将忽略它。

15. HEADERS

定义项目的头文件。

qmake自动检测头文件中的类是否需要MOC,并将适当的依赖项和文件添加到项目中,以生成和链接MOC文件。

例如:

HEADERS = myclass.h \
            login.h \
            mainwindow.h

16. ICON

此变量仅在Mac OS上用于设置应用程序图标。有关详细信息,请参阅应用程序图标文档。

17. INCLUDEPATH

指定编译项目时应搜索的包含目录。

例如:INCLUDEPATH = c:/msdev/include d:/stl/include

如果是不同系统的路径,可以添加系统判断

win32:INCLUDEPATH += "C:/mylibs/extra headers"
unix:INCLUDEPATH += "/home/user/extra headers"

18. INSTALLS

指定执行make install或类似安装过程时将安装的资源列表。列表中的每一项通常都用提供安装位置信息的属性定义。

例如,下面的target.path定义描述了安装生成目标的位置,而installs分配将生成目标添加到要安装的现有资源列表中:

target.path += $$[QT_INSTALL_PLUGINS]/imageformats
INSTALLS += target

19. LIBS

指定要链接到项目中的库列表。

如果使用unix-l(library)和-l(library path)标志,qmake将在Windows上正确处理库(即将库的完整路径传递给链接器)。库必须存在,qmake才能找到-l lib所在的目录。

例如:

unix:LIBS += -L/usr/local/lib -lmath
win32:LIBS += c:/mylibs/math.lib

20. MOC_DIR

指定放置所有中间MOC文件的目录。

例如:

unix:MOC_DIR = ../myproject/tmp
win32:MOC_DIR = c:/myproject/tmp

21. OBJECTS_DIR

指定放置所有中间对象的目录。

例如:

unix:OBJECTS_DIR = ../myproject/tmp
win32:OBJECTS_DIR = c:/myproject/tmp

22. PWD

指定指向包含要分析的当前文件的目录的完整路径。

这对于在编写项目文件以支持阴影生成时引用源树中的文件非常有用。

注意:不要试图覆盖这个变量的值。

23. QM_FILES_INSTALL_PATH

指定资源系统中的目录,其中.qm文件将由 CONFIG += embed_translations 提供。

默认值为:/i18n/。

24. QMAKE

指定qmake程序本身的名称,并将其放置在生成的makefiles中。

此变量的值通常由qmake或qmake.conf处理,很少需要修改。

25. QTPLUGIN

指定要与应用程序链接的静态qt插件的名称列表,以便它们作为内置资源可用。

qmake自动添加所用qt模块通常需要的插件。

当链接到Qt的共享/动态构建或链接库时,此变量当前不起作用。它可以在以后用于动态插件的部署。

26. RC_FILE

指定应用程序的资源文件名。

此变量的值通常由qmake或qmake.conf处理,很少需要修改。

27. RC_ICONS

指定应包含在生成的.rc文件中的图标。

仅限Windows。仅当未设置rc_file和res_file变量时才使用此选项。

28. RCC_DIR

指定qt资源编译器输出文件的目录。

unix:RCC_DIR = ../myproject/resources
win32:RCC_DIR = c:/myproject/resources

29. REQUIRES

指定作为条件计算的值列表。

如果任何条件都是错误的,那么在构建时qmake将跳过此项目(及其子项目)。

注意:如果希望在生成时跳过项目或子项目,建议使用requires()函数

30. RESOURCES

指定目标的资源收集文件(qrc)的名称。

31. SOURCES

指定项目中所有源文件的名称。

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓文章来源地址https://www.toymoban.com/news/detail-496878.html

到了这里,关于Qt 编译方式之 qmake的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • QT转型Visual Studio(qmake项目到cmake项目的移植)

    QT转型Visual Studio(qmake项目到cmake项目的移植)

    由于工作需要,同时也为了方便以后的集成升级,希望将之前用Qt creator qmake开发的项目移植到cmake项目中,并使用Visual Studio 进行后续开发,本文主要用以记录该过程中的常规步骤和遇到的特殊情况。 在一开始,为了降低开发难度以及快速完成业务开发,我们使用Qt Creator原生

    2024年02月09日
    浏览(10)
  • 安装qt qmake assistant 错误:could not find a Qt installation of ‘‘

    安装qt qmake assistant 错误:could not find a Qt installation of ‘‘

    1、执行qmake,提示下图的错误 Command \\\'qmake\\\' not found, but can be installed with: sudo apt install qtchooser 解决方法:  2、执行qmake,提示一下错误 qmake: could not find a Qt installation of \\\'\\\' 解决步骤: 步骤一:找到qmke命令链接路径  具体操作 cxx@cxx-virtual-machine:~/Demo/qBreakpad-master$ which qmake /usr/bin/

    2024年02月12日
    浏览(8)
  • CMake入门教程【高级篇】qmake转cmake

    CMake入门教程【高级篇】qmake转cmake

    😈 「CSDN主页」 :传送门 😈 「Bilibil首页」 :传送门 😈 「动动你的小手」 : 点赞 👍 收藏 ⭐️ 评论 📝

    2024年01月25日
    浏览(26)
  • Qt 帮助框架简介

    Qt帮助系统包括生成和查看Qt帮助文件的工具。此外,它还提供了以编程方式访问帮助内容的类,以便能够将在线帮助集成到Qt应用程序中。 实际的帮助数据,也就是目录、索引或HTML文档,都包含在Qt压缩帮助文件中。所以,一个这样的帮助文件通常代表了一个手册或文

    2024年02月07日
    浏览(5)
  • 鸿蒙系统开发编译指南(官网开发文档+docker环境方式)

    鸿蒙系统开发编译指南(官网开发文档+docker环境方式)

    注意1: OpenHarmony系统的开发环境搭建、编译、烧录、调测,最好直接参考官网开发文档,因为更新频繁,大多数人的流程都不一样。 https://www.harmonyos.com/   ​ ​         因为一般都需要使用命令行操作,而且通过命令行操作才能深入了解原理,后续也可以在其基础上增

    2024年02月05日
    浏览(14)
  • 鸿蒙系统开发之编译指南(官网开发文档+docker环境方式)

    鸿蒙系统开发之编译指南(官网开发文档+docker环境方式)

    注意1: OpenHarmony系统的开发环境搭建、编译、烧录、调测,最好直接参考官网开发文档,因为更新频繁,大多数人的流程都不一样。 https://www.harmonyos.com/   ​ ​         因为一般都需要使用命令行操作,而且通过命令行操作才能深入了解原理,后续也可以在其基础上增

    2024年02月04日
    浏览(15)
  • 产品不可或缺的文档——帮助文档

    产品不可或缺的文档——帮助文档

    在互联网时代,产品的更新迭代速度越来越快,产品功能也越来越复杂,为了让用户能够更好地理解和使用产品,帮助文档逐渐成为了产品不可或缺的一部分。本文将从帮助文档的作用、设计原则、撰写技巧等方面探讨帮助文档的重要性及如何编写出优秀的帮助文档。 提高用

    2024年02月09日
    浏览(11)
  • 在线帮助文档——帮助客户快速了解您的产品如何使用

    在线帮助文档——帮助客户快速了解您的产品如何使用

    当新接触到一个产品或者软件,在使用上遇到问题时,以往第一件事就是给咨询客服人员或者打电话等形式,每天客服人员都需要回答很多同样的问题,长期下去,客服人员压力大,离职率高,并且人工客服在这方面响应相对较慢,用户体验不好。 那么怎么去解决这样的问题

    2024年02月15日
    浏览(7)
  • ffmpeg命令帮助文档

    ffmpeg命令帮助文档

    目录 一:帮助文档的命令格式 二:将帮助文档输出到文件 ffmpeg -h 帮助的基本信息 ffmpeg -h long 帮助的高级信息 ffmpeg -h full 帮助的全部信息 ffmpeg的命令使用方式:ffmpeg [options] [[infile options] -i infile] [[outfile options] outfile] 执行以下命令:   文件生成后的样子: 我这里是ffmpeg6的

    2024年02月05日
    浏览(10)
  • 【QCustomPlot】配置帮助文档

    【QCustomPlot】配置帮助文档

    使用 QCustomPlot 绘图库辅助开发时整理的学习笔记。同系列文章目录可见 《绘图库 QCustomPlot 学习笔记》目录。本篇介绍 QCustomPlot 帮助文档的配置。 目录 说明 1. 在线帮助文档 2. 离线帮助文档下载 2.1 HTML 版的离线帮助文档 2.2 QCH 版本的离线帮助文档 QCustomPlot 在线帮助文档(最

    2024年02月09日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包