QT基础(五)QT工程pro文件模板变量 使用

QT工程pro文件模板变量(TEMPLATE)模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:

  • app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
  • lib - 建立一个库的makefile。
  • vcapp - 建立一个应用程序的Visual Studio项目文件。
  • vclib - 建立一个库的Visual Studio项目文件。
  • subdirs - 这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。

“app”模板

“app”模板告诉qmake为建立一个应用程序生成一个makefile。当使用这个模板时,下面这些qmake系统变量是被承认的。你应该在你的.pro文件中使用它们来为你的应用程序指定特定信息。

  • HEADERS - 应用程序中的所有头文件的列表。
  • SOURCES - 应用程序中的所有源文件的列表。
  • FORMS - 应用程序中的所有.ui文件(由Qt设计器生成)的列表。
  • LEXSOURCES - 应用程序中的所有lex源文件的列表。
  • YACCSOURCES - 应用程序中的所有yacc源文件的列表。
  • TARGET - 可执行应用程序的名称。默认值为项目文件的名称。(如果需要扩展名,会被自动加上。)
  • DESTDIR - 放置可执行程序目标的目录。
  • DEFINES - 应用程序所需的额外的预处理程序定义的列表。
  • INCLUDEPATH - 应用程序所需的额外的包含路径的列表。
  • DEPENDPATH - 应用程序所依赖的搜索路径。
  • VPATH - 寻找补充文件的搜索路径。
  • DEF_FILE - 只有Windows需要:应用程序所要连接的.def文件。
  • RC_FILE - 只有Windows需要:应用程序的资源文件。
  • RES_FILE - 只有Windows需要:应用程序所要连接的资源文件。

你只需要使用那些你已经有值的系统变量,例如,如果你不需要任何额外的INCLUDEPATH,那么你就不需要指定它,qmake会为所需的提供默认值。例如,一个实例项目文件也许就像这样:

TEMPLATE = app
       DESTDIR  = c:\helloapp
       HEADERS += hello.h
       SOURCES += hello.cpp 
       SOURCES += main.cpp
       DEFINES += QT_DLL
       CONFIG  += qt warn_on release

如果条目是单值的,比如template或者目的目录,我们是用“=”,但如果是多值条目,我们使用“+=”来为这个类型添加现有的条目。使用“=”会用新值替换原有的值,例如,如果我们写了DEFINES=QT_DLL,其它所有的定义都将被删除。

“lib”模板

“lib”模板告诉qmake为建立一个库而生成makefile。当使用这个模板时,除了“app”模板中提到系统变量,还有一个VERSION是被支持的。你需要在为库指定特定信息的.pro文件中使用它们。

  • VERSION - 目标库的版本号,比如,2.3.1。

“subdirs”模板

“subdirs”模板告诉qmake生成一个makefile,它可以进入到特定子目录并为这个目录中的项目文件生成makefile并且为它调用make。

在这个模板中只有一个系统变量SUBDIRS可以被识别。这个变量中包含了所要处理的含有项目文件的子目录的列表。这个项目文件的名称是和子目录同名的,这样qmake就可以发现它。例如,如果子目里是“myapp”,那么在这个目录中的项目文件应该被叫做myapp.pro

CONFIG变量

配置变量指定了编译器所要使用的选项和所需要被连接的库。配置变量中可以添加任何东西,但只有下面这些选项可以被qmake识别。

下面这些选项控制着使用哪些编译器标志:

  • release - 应用程序将以release模式连编。如果“debug”被指定,它将被忽略。
  • debug - 应用程序将以debug模式连编。
  • warn_on - 编译器会输出尽可能多的警告信息。如果“warn_off”被指定,它将被忽略。
  • warn_off - 编译器会输出尽可能少的警告信息。

下面这些选项定义了所要连编的库/应用程序的类型:

  • qt - 应用程序是一个Qt应用程序,并且Qt库将会被连接。
  • thread - 应用程序是一个多线程应用程序。
  • x11 - 应用程序是一个X11应用程序或库。
  • windows - 只用于“app”模板:应用程序是一个Windows下的窗口应用程序。
  • console - 只用于“app”模板:应用程序是一个Windows下的控制台应用程序。
  • dll - 只用于“lib”模板:库是一个共享库(dll)。
  • staticlib - 只用于“lib”模板:库是一个静态库。
  • plugin - 只用于“lib”模板:库是一个插件,这将会使dll选项生效。

例如,如果你的应用程序使用Qt库,并且你想把它连编为一个可调试的多线程的应用程序,你的项目文件应该会有下面这行:

CONFIG += qt thread debug

注意,你必须使用“+=”,不要使用“=”,否则qmake就不能正确使用连编Qt的设置了,比如没法获得所编译的Qt库的类型了

时间: 2024-07-30 10:17:03

QT基础(五)QT工程pro文件模板变量 使用的相关文章

pycharm预定义文件模板变量

可用的预定义文件模板变量为: $ {PROJECT_NAME} - 当前项目的名称. $ {NAME} - 在文件创建过程中在"新建文件"对话框中指定的新文件的名称. $ {USER} - 当前用户的登录名. $ {DATE} - 当前的系统日期. $ {TIME} - 当前系统时间. $ {YEAR} - 今年. $ {MONTH} - 当月. $ {DAY} - 当月的当天. $ {HOUR} - 目前的小时. $ {MINUTE} - 当前分钟. $ {PRODUCT_NAME}

Qt工程pro文件的简单配置(尤其是第三方头文件和库)

Qt开发中,pro文件是对正工程所有源码.编译.资源.目录等的全方位配置的唯一方式,pro文件的编写非常重要,以下对几个重要项进行说明(win和linux,mac平台通用配置) 注释 以”#”开始的行,直到结束 模板变量 告诉qmake生成哪种makefile TEMPLATE = app 1 其中 app -表示该工程建立一个应用程序的makefile.这是默认值,所以如果模板没有被指定,这个将被使用 lib - 表示该工程建立一个库的makefile 生成目录 指定生成的可执行程序的目录,可

QT 中 .pro文件各变量的意义

QT工程中 .pro文件中各变量意义: HEADERS 指定工程的 C++头文件(.h). ◆ SOURCES 指定工程的C++实现文件(.cpp). ◆ FORMS 指定需要 uic 处理的由 Qt 设计师生成的.ui 文件. ◆ RESOURCES 指定需要 rcc 处理的.qrc 文件. ◆ DEFINES 指定预定义的 C++预处理符号. ◆ INCLUDEPATH 指定 C++编译器搜索全局头文件的路径. ◆ LIBS 指定工程要链接的库.库既可以通过绝对路径指定,也可以使用源自 Un

Qt之OpenSSL(有pro文件的路径格式)

简述 OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. 简述 下载安装 使用 更多参考 下载安装 进入Win32 OpenSSL下载页面,选择适合自己的版本进行下载. 下载完成之后进行安装,我选择的目录为D:\Program Files\OpenSSL-Win32.进入安装目录,可以看到主要包含以下文件夹: lib:包含了所有的库文件(例如:libeay32.lib.ssleay32.lib).

QT 基础(七)Qt中实现树形结构可以使用QTreeWidget类

Qt中实现树形结构可以使用QTreeWidget类,也可以使用QTreeView类,QTreeWidget继承自QTreeView类.树形效果如下图所示: 这是怎么实现的呢?还有点击节点时会有相应的事件响应. 1. 树形结构实现 QT GUI中有treeWidget部件,将该控件在Gui中布局好,假设其对象名为treeWidget. QTreeWidget类官方文档:http://qt-project.org/doc/qt-4.8/qtreewidget.html 树形结构通过QTreeWidg

linux基础之vi编辑器设置文件模板

我们在写程序时,可能有这种需要,每次都要重复写某个东西. 在写c程序时候,经常写如下: #include <stdio.h> int main(int argv, char *argv[]) { return 0; } 这样,使用vi的模板,很方便 1.创建模板 [email protected]:~$ cd /usr/share/vim/vimfiles [email protected]:/usr/share/vim/vimfiles$ sudo touch c_template.c [e

Eclipse4.7使用基础 修改生成的.java文件模板,添加作者信息与创建时间

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0) referenceLinking:http://jingyan.baidu.com/article/fc07f98965961d12ffe519bb.html step_1 step_2 step_3 step_4 将其编辑为 ${filecomment} ${package_declaration} /** * JavaSE8基

pyCharn文件模板变量

${PROJECT_NAME} - 当前的项目名 ${NAME} - 在文件创建过程中,新文件对话框的命名 ${USER} - 当前的登录用户 ${DATE} - 现在的系统日期 ${TIME} - 现在的系统时间 ${YEAR} - 当前年份 ${MONTH} - 当前月份 ${DAY} - 当前月份中的第几日 ${HOUR} - 现在的小时 ${MINUTE} - 现在的分钟 ${PRODUCT_NAME} - IDE创建文件的名称 ${MONTH_NAME_SHORT} - 月份的前三个字

Qt之pro文件解析

在我们创建Qt工程项目时,Qt Creator总会创建一个.pro文件,我们称.pro文件为Qt的工程管理文件.一个工程项目可以包含一个或多个.pro文件.理解和掌握pro文件的用法,将有利于Qt开发人员对项目工程文件的组织和管理. 下面来看一下pro文件中的内容:  第1~5行为注释信息,说明这个文件生成的时间. 第8行表明这个项目使用的模块.core模块包含了Qt的核心功能,其他所有模块都依赖于这个模块:gui模块提供了窗口系统集成.时间处理.OpenGL和OpenGL ES集成,2D图形.