Qt的pro工程文件语法学习.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Qt的pro工程文件语法学习

Qt的.pro工程文件语法学习标签:?proqmake语法2016-01-15 12:25?171人阅读?评论(0)?收藏?举报?分类:?Qt5(6)?版权声明:本文为博主原创文章,未经博主允许不得转载。  我们编写Qt应用程序时,不管使用Qt Creator还是VS或者Eclipse,不管是Qt Widgets还是Qt Quick,总会发现有.pro文件,我们称.pro文件为Qt的工程管理文件,它存在的目的是列举工程中包含的源文件。类似于makefile,一个工程中可以包含一个或多个.pro文件。因此对于使用Qt的开发人员来说,熟悉.pro工程文件的语法,懂得阅读和修改.pro文件,将有利于对项目工程的文件组织和管理。?  qmake、.pro文件、makefile文件的关系简单来说就是:qmake工具使用了与平台无关的.pro文件生成与平台相关的makefile文件。  所以虽然本文标题为.pro文件语法学习,实际上应该是qmake的语法学习,但是因为IDE把qmake隐藏起来了,我们接触地更多的是.pro文件,因此还是使用这样的标题。================================TARGET变量 TEMPLATE变量 CONFIG变量:  首先我们需要知道工程文件主要分为三种:app(单独的应用程序)、lib(静态或动态库)和subdirs(递归编译)。工程文件的类型可以使用TEMPLATE变量来指定。  TARGET是用来定义应用程序的名字的,而程序的扩展名则由TEMPLATE来定义。例如:TARGET = hello,TEMPLATE = app,则在Linux下会生成hello(无后缀的ELF可执行文件),对应的在Windows下会生成hello.exe。  TEMPLATE和CONFIG共同定义了目标类型,以下是几种常见情况:TEMPLATE = app,生成标准程序(注意如果没有TEMPLATE这一项,那么默认工程就是app)。TEMPLATE = subdirs,子项目工程模板,可以用它来创建一个能够进入特定目录并且编译子目录里的目标文件。此时除了TEMPLATE = subdirs,还需要指定SUBDIRS变量,在每个子目录中,qmake会搜寻以目录命名的.pro文件,并且会编译该工程。TEMPLATE = lib,生成库文件,若不指定CONFIG变量,则编译为共享库;若CONFIG += staticlib,则编译为静态库;若CONFIG += plugin,则编译为插件(插件总是动态库)。对于app或者lib工程,以下是较常使用的一些变量:TARGET变量:指定可执行文件或库的基本文件名,其中不包含任何的扩展、前缀或版本号。(默认的是当前的目录名)CONFIG变量:指定各种用于工程配置和编译的参数HEADERS变量:指定工程的C++头文件(.h)SOURCES变量:指定工程的C++实现文件(.cpp)FORMS变量:指定需要uic处理的由Qt设计师生成的.ui文件RESOURCES变量:指定需要rcc处理的.qrc文件(资源文件)LEXSOURCES变量:指定工程的lex源文件(.l)YACCSOURCES变量:指定工程中的yacc源文件(.y)DEFINES变量:指定预定义的C++预处理器符号INCLUDEPATH变量:指定C++编译器搜索全局头文件的路径LIBS变量:指定工程要链接的库。库既可以通过绝对路径指定,也可以使用源自Unix的-L和-l标识符来指定(例如:-L/usr/local/lib和-ldb_cxx)QT变量:指定工程所要使用的Qt模块(默认的是core gui,对应于QtCore和QtGui模块)VERSION变量:指定目标库的版本号DESTDIR变量:指定生成的可执行文件放置的目录。(默认值是平台相关的,例如在Linux上,值当前目录;在Windows上,则是指debug或release子目录)DLLDESTDIR变量:指定目标库文件放置的目录(默认与DESTDIR相同)OBJECTS_DIR变量:指定目标文件(.o文件)的存放目录.pro文件中的注释:?  注释以井号(#)开头,在行尾处结束。.pro文件中的一个条目的语法通常具有如下形式:variable = values11  values是字符串的列表,例如:CONFIG = qt release warn_off,是指将列表 [“qt”, “release”, “warn_off”] 赋给CONFIG变量,注意!它会覆盖CONFIG变量以前设置的各个值。因此我们通常用 += 操作符来扩展变量的值。如:CONFIG = qtCONFIG += releaseCONFIG += warn_off1231

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档