有时候需要手动修改工程文件,因此有必要理解其中一些常用变量的含义:
变量名 含义
TEMPLATE 模板,app代表应用程序,lib代表共享库
CONFIG 配置选项
QT 当配置选项中有qt时,表示需要链接的Qt库的列表
HEADERS 头文件列表
SOURCES 源文件列表
FORMS ui文件列表,由designer生成的界面文件
RESOURCES 资源文件列表
TARGET 目标的名称,默认与工程文件同名(去掉.pro后缀)
DESTDIR 目标放置的目录
DEFINES 编译时增加的宏定义列表
INCLUDEPATH 额外的头文件搜索路径
LIBS 额外链接的共享库,注意这里要写全给编译器的参数-L, -l等
VEESION 当模板是lib时,代表共享库的版本号
其中CONFIG变量有如下的常用值。
1)qt: 表示工程为Qt应用程序,这是默认值。
2)release:编译为release版本。
3)debug:编译为debug版本。
4)debug_and_release:同时编译为release和debug版本。
5)warn_on:编译时产生尽可能多的警告。
6)warn_off:编译时产生尽可能少的警告。
7)thread:表示工程为多线程应用程序。
当配置为Qt应用程序时,程序要与Qt的共享库链接。Qt提供了多个共享库,分别支持不同的功能。可以用QT这个环境变量来控制所链接的共享库,环境变量的值与共享库的对应关系如下:
QT变量的值 对应的共享库 说明
core QtCore 核心模块,默认包含
gui QtGui 图形界面模块,默认包含
network QtNetwork 网络模块
opengl QtOpenGL OpenGL模块
sql QtSql SQL模块
svg QtSvg SVG模块
xml QtXml XML模块
xmlpatterns QtXmlPatterns XML模式模块
qt3support Qt3Support Qt3支持模块
变量用=赋值,则新值完全取代=旧值;如果用+=赋值,表示原值保留,再增加一个新值;如果用-=赋值,则表示从原值中去掉一个值。
CONIFG += c++11 支持C++11标准