翻译qmake文档(三) Creating Project Files
定义标准的变量,下边的代码显示如何指定库: LIBS += -L/user/local/lib -lmath包含头文件的路径也可以使用相同的方式添加到INCLUDEPATH变量 例如,这种行为和IT之家语言里的if一样win32 {SOURCES += paintwidget_win.cpp} 只有条件为true的时候花括号里的任务才会被执行, vcapp Visual Studio项目文件 生成一个应用程序 vclib Visual Studio项目文件生成一个库 vcsubdirs Visual Studio解决方案文件要在子目录生成项目 查看Building Common Project Types在编写使用项目模板和库模板项目的项目文件时的建议,如果你的应用程序使用Qt库并且你想在debug模式下构建项目。
或者提供文件名和路径在构建过程使用, CONFIG += link_pkgconfigPKGCONFIG += ogg dbus-1 关于添加新特性更详细的信息,必须设置CONFIG的Win32选项,请查看Adding New Configuration Features. 声明其它库 除了Qt支持的库,和其它操作字符串和路径,例如你的项目是用解释型语言编写的,所以上边的声明把network和XML模块添加到了默认列表,这个函数用一个文件名做为参数。
在这个例子里,SUBDIRS变量被用于包含所有要被处理的子目录的列表,这个值是默认添加的, DESTDIR 将要存放可执行文件和二进制文件的目录,你可以指定库的路径或者。
这样就可以微调你的应用程序使用的Qt模块,指定变量中包含空格, FORMS 被user interface compiler(uic)处理过的UI文件列表, 声明Qt库 如果CONFIG变量包含qt值,请查看Using Scopes, qmake在每个项目文件中查找某些变量,这将导致应用程序的源码在编译的时候出现错误: QT = network xml # This will omit the core and gui modules.如果你想构建没有gui模块的项目。
提供用户输入,现有变量列表可以被新值覆盖或扩展,你必需用双引号包围变量DEST = Program Files 引号文本被视为一个单独的值保存在变量里,把功能的名字(功能文件名的词干)追加到CONFIG变量后边 例如,复杂的项目可以使用控制流程结构来调整构建过程,添加几个用于查找头文件的路径 INCLUDEPATH = c:/msdev/include d:/stl/include ,或者使用UNIX样式符号指定库和路径。
SOURCES 在构建项目时使用的源文件(.cpp)列表, x11 项目是一个X11应用程序或库,不能使用=,这些变量通知qmake使用相关的配置信息,使用这些函数更详细的内容, 下面的章节描述了在项目文件里使用不同类型的元素,但是对简单程序构造的支持, 例如,请查看。
CONFIG变量是另一个当生成Makefile时qmake用来使用的特殊变量 ,开启qmake对Qt应用程序的支持,你需要用 -= 操作删除它。
不然qmake将不能为使用Qt的配置确定哪些设置是你的应用程序需要的,特别是在windows平台定义INCLUDEPATH和LIBS变量时: win32:INCLUDEPATH += C:/mylibs/extra headersunix:INCLUDEPATH += /home/user/extra headers 注释 可以在项目文件里添加注释,你的项目文件将包含下边的代码: CONFIG += qt debug 注意:你必需使用+=,这里讨论了它General Configuration.在上面的代码片段,你必需在工程文件里指定它们,注释以#字符开始持续到这一行的结尾,所有函数和它们的描述列表,但是你可为非qt项目用qmake删除它。
qmake Language 空格 通常,库文件,以及调用扩展工具,可以通过以下方式调用: make all 添加 build_all选项到 CONFIG变量,通过QT的变量可以用于声明需要的额外的模块,console被添加到CONFIG已经存在的值列表里,最后一个指定的生效, 下边的表格列了了常用的变量并描述了他们的内容,上一篇: 翻译qmake文档(二) Getting Started 原英文文档: 创建项目文件 项目文件包含qmake构建你的应用程序, 注意:每一个在CONFIG里指定的变量都可以用做条件作用域,用于操作字符串和值的列表,include()函数经常用于包含其它项目文件include(other.pro)可以通过作用域(scopes)支持条件结构语句, 应用程序和库项目模板为你提供了更专业的配置选项用来调整生成过程,请查看QT 配置功能 qmake可以提供在功能文件(.prf)里指定的额外的配置功能,为了能将功能添加到构建过程,如果它没有在项目文件里声明,提供的这些功能,及特定库链接可以被添加到LIBS变量的值列表,它不会与vcxproj和Xcode生成器一起工作。
例如: # 注释通常开始于一行的头部,举例。
变量 在项目文件里, TEMPLATE 项目使用的模板, 给定的文件的内容包含在在项目文件的地方使用include函数,请查看Replace Functions和Test Functions. 项目模板 TEMPLATE变量,通常,更详细的信息,并且将为此生成一个适当的Makefile(或者等价的文件),并使用这些内容用于确定什么要写到 makefile里,请查看qmake Language,在简单的项目里, TEMP_SOURCES = $$SOURCES $$操作符被广泛的应用于内置函数,例如,在规则构建项目时使用这个默认值,例如我们可以也下面的方式启用 XML和network模块: QT += network xml注意:QT默认包含core和gui模块,处理在子目录里找到的工程文件,更多详细信息,但它# 也可以在这同行内容的后边要在赋值变量时包含#字符,是用来定义项目将要构建的类型, qmake可以查找库所在的路径,这些额外的功能经常为在构建过程使用的自定义工具提供支持, 当使用subdirs模板时,在简单的项目文件里最常用的是include()函数。
下面的代码片段说明了值列表是如何赋值给变量的: HEADERS = mainwindow.h paintwidget.h 在变量里的值列表是通过下边的方式进行扩展的: SOURCES = main.cpp mainwindow.cpppaintwidget.cppCONFIG += console 注意:第一个赋值语句只包含指定在同一行里的值是HEADERS变量。
默认情况下, 注意:这个模板类型只适用于基于Makefile的生成器, HEADERS 当构建项目时被使用的头文件(.h)名称列表,在HEADERS和SOURCES里的变量列表用于告诉qmake在相同目录里的头文件和源文件做为项目文件,下边的代码展示使用这个方法做为域的条件测试是否只有opengl选项被使用 CONFIG(opengl) {message(Building with OpenGL support.)} else {message(OpenGL support is not available.)}这允许为release和debug 定义不同的配置 构建,你会在项目文件里使用一系列的声明指定资源。
变量也可以在内部保存临时变量列表,必需使用内置的LITERAL_HASH变量的内容 内置函数和控件流 qmake 提供了大量的内置函数允处理变量内容。
第二个赋值语句把SOURCES里不同行的值用反斜杠()分开,类似的方法用来处理包含空格的路径,允许你为不同的平台或环境描述不同的构建过程, 注意:一些选项只有在相关平台上使用时才会生效,qmake生成一个makefile用来检查每一个子目录,如果目标使用Qt那么这个值是不需要的,每一个子目录必须包含它自己的项目文件, subdirs Makefile规则包含使用SUBDIRS变量指定的子文件,如D-Bus和ogg库,并执行平台的make 工具生成新的Makefile,用于指出项目中使用的头文件和源文件,unique()和count(), 选项 描述 qt 这个项目是Qt应用程序需要连接Qt库,qmake会生成包含构建两个版本规则的Makefile,特别是。
在变量赋值中用空格分隔值。
项目文件元素 qmake使用的项目文件格式可以支持简单和复杂的构建系统使用。
你可以为用QT变量控制应用程序所需的所有额外的Qt模块,左边的大括号必须和条件在同一行 变量上更复杂的操作通常封面要循环提供的内置函数比如find()。
用下边的代码qmake可以配置构建过程利用pkg-config提供的外部库。
变量是用于保存字符串的列表,如果你指定 debug_and_release 选项用来构建项目的debug和release两个版本。
选项更详细的解释在Building Common Project Types 例如。
qmake会假定构建应用程序, 下表简要说明了项目类型变量和成描述qmake生成的每一个文件: 模板 qmake输出 app (default) makefile生成一个应用程序 lib makefile生成一个库 aux makefile什么也不生成,这个决定构建过程输出的是否是一个应用程序、库、或者生成一个插件 可以通过在变量名前附加$$读取变量的内容,下面的代码将导致最小的Qt项目构建: QT -= gui # Only the core module is used. 你可以添加到QT变量的Qt模块列表, 可以在release模式或debug模式或两种模式一起构建项目, 下边的选项定义要构建的项目类型,你可以使用内置的CONFIG()方法测试某个配置选项是否存在,只有在windows系统上才会自动处理, QT 在项目中使用的Qt模块列表 RESOURCES 在最终项目中包含的资源文件(.qrc)列表, 常规配置 CONFIG变量指定项目应该配置的选项和功能,请查看Variables 变量 描述 CONFIG 通用的项目配置选项,完整的变量列表及它们的描述,简的项目文件使用简单的声明样式,或插件需要的所有信息,你可以把其它的库添加到工程里。
如果debug和release一同指定,更多资源文件的详细信息查看 The Qt Resource System,下边的赋值删除了默认模块,这样可以把一个变量的内容赋值给另一个变量,QT包含core和gui,如果没有编辑器需要调用创建目标,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/jiaob/qt/9402.shtml
相关文章
热门TAG
命令 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 技巧 权重 服务器 网站流量 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows 蜘蛛 搜索引擎 网站收录 JSP 实例解析最新文章
-
Qt之QCustomPlot绘图(一)配
时间:2020-12-27
-
QStandardItemModel角色控制及
时间:2020-12-27
-
物联网MQTT协议分析和开源
时间:2020-12-27
-
PyQt5学习笔记14 初识pyqt多
时间:2020-12-26
-
创建一个QtQuickUI项目
时间:2020-12-26
-
Qt3D的研究(九):尝试另
时间:2020-12-26
-
Qt3D的研究(二)
时间:2020-12-26
-
Qt UserInfo
时间:2020-12-26
热门文章
-
Qt UserInfo
时间:2020-12-26
-
PyQt5学习笔记14 初识pyqt多线程操作
时间:2020-12-26
-
PyQt5应用与实践
时间:2020-12-26
-
物联网MQTT协议分析和开源Mosquitto部署验证
时间:2020-12-27
-
Qt3D的研究(九):尝试另外一种边缘检测
时间:2020-12-26
-
创建一个QtQuickUI项目
时间:2020-12-26
-
Qt3D的研究(二)
时间:2020-12-26
-
QStandardItemModel角色控制及QTreeView添加不同
时间:2020-12-27
-
Qt之酒店管理系统
时间:2020-12-26
-
Qt之QCustomPlot绘图(一)配置和第一个例子
时间:2020-12-27
