Qt Pro文件配置
qmake是核心的项目构建工具可以生成跨平台的PRO项目文件,并依据不同操作系统和编译工具生成相应的Makefile,用于构建可执行程序或链接库。
1、注释
从“#”开始,到这一行结束。
2、DEFINES
作为编译器C预处理器宏(-D选项)
QT_DEPRECATED_WARNINGS表示当Qt的某些功能被标记为过时的,那么编译器会发出警告。
还可以指定项目的特殊版本(比如:正式版、试用版)
#ifdef USE_MY_STUFF
// TODO
#else
// TODO
#endif
3、TEMPLATE
模板变量告诉qmake为这个应用程序生成哪种makefile。
- app:生成应用程序,即可执行文件
- lib:生成库文件
- subdirs创建一个用于构建目标子目录的Makefile,子目录使用SUBDIRS变量指定。
4、CONFIG
指定编译器选项和项目配置,值由qmake内部识别并具有特殊意义。
CONFIG += c++11 warn_off
如上述配置表示编译器应该输出尽可能少的警告,并启动C++11支持。
5、UI_DIR
用来指定uic命令,将.ui文件转化为ui_*.h文件存放的目录。
6、RCC_DIR
用来指定rcc命令,将.qrc文件转换成qrc_*.h文件存放的目录。
7、MOC_DIR
用来指定moc命令,将含有Q_OBJECT的头文件转换成标准.h文件存放的目录。
8、OBJECTS_DIR
指定所有中间文件.o(.obj)放置的目录。
9、DESTDIR
指定生成的应用程序放置的目录。
10、TARGET
指定目标文件的名称。默认情况下包含的项目文件的基本名称。
11、INCLUDEPATH
头文件包含路径
INCLUDEPATH += $$PWD/include //当前目录的include文件夹下,$$PWD表示当前目录
12、LIBS
用来指定引入的lib文件的路径,一般会在前面加下参数-L,根据不同的版本可以分为两种形式。
CONFIG(debug,debug|release) : 两个参数,前者是要判断的active的选项,后者是互斥的选项的一个集合。
CONFIG(debug, debug|release){
DESTDIR = $${PWD}/bin/Qt_$${QT_VERSION}_Debug
LIBS+= -L$${PWD}/bin/Qt_$${QT_VERSION}_Debug
}
else{
DESTDIR = $${PWD}/bin/Qt_$${QT_VERSION}_Release
LIBS+= -L$${PWD}/bin/Qt_$${QT_VERSION}_Release
}
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/lib/xxxx/ -lxxxx
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/lib/xxxx/ -lxxxxd
else:unix: LIBS += -L$$PWD/lib/xxxx/ -lxxxxc
13、TRANSLATIONS
指定包含用户界面翻译文本的翻译(.ts)文件列表。
TRANSLATIONS += Resource/myapp_zh.ts \
Resource/myapp_en.ts
14、跨平台处理信息
win32{
}
unix{
}
15、实例
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = uidemo08
TEMPLATE = app
MOC_DIR = temp/moc
RCC_DIR = temp/rcc
UI_DIR = temp/ui
OBJECTS_DIR = temp/obj
DESTDIR = $$PWD/../bin
SOURCES += main.cpp
SOURCES += iconhelper.cpp
SOURCES += appinit.cpp
SOURCES += uidemo08.cpp
HEADERS += iconhelper.h
HEADERS += appinit.h
HEADERS += uidemo08.h
FORMS += uidemo08.ui
RESOURCES += main.qrc
RESOURCES += qss.qrc
CONFIG += qt warn_off
INCLUDEPATH += $$PWD