QT 的配置文件.pro 解析:
1. 注释:
# 单行注释
2. QT += core gui
QT -= gui
新增(+=)或者减去(-=) QT使用的模块,各个模块间使用空格分开。默认会包含 core 与 gui两个模块。
3. TEMPLATE = VALUE模板:
VALUE值有以下选项:
- app:最终生成的是可执行程序、应用程序(默认)
- lib:创建一个静态库
- vcapp:创建一个应用程序的VS项目文件
- vclib:创建一个库的VS项目文件
- subdirs:特殊的模板,可以创建一个进入特定目录并且为一个项目文件生成makefile并为他调用make的makefile
4. DESTDIR = ../bin
指定生成的应用程序放置的目录
5. TARGET = appname
指定应用程序的名称(不用加后缀)
6. DEFINE += USE_MY_STUFF
声明变量USE_MY_STUFF作为编译器预处理器的值。
然后就可以在代码中使用:
#ifdef USE_MY_STUFF
....
#else
....
#endif
7. INCLUDEPATH += includePath
包含头文件的路径,不同行使用 “\” 分开
8. LIBS += -L folderPath
指定lib库的路径,不同行使用”\”分开
LIB += -L$$PWD/libpath1 \
-L$$PWD/libpath2
9. LIBS += -l libName.lib
指定lib库名称, 不同路径使用”\”分开
LIB += -l libName.lib \
-l libName2.lib
10. UI_DIR += tmpUicDir
指定.ui文件生成的ui_*.h存放的目录
11. MOC_DIR += tmpMocDir
指定moc将含有Q_OBJECT的头文件转换成的标准.h文件存放的目录
12. OBJECT_DIR += tmpObjDir
指定生成的obj文件存放的目录
13. RCC_DIR += tmpRccDir
指定 rcc命令将.qrc文件转换成为的qrc_*.h存放的目录
14. RESOURCES += res/xxx.qrc
指定资源文件qrc的名称
15. RC_FILE = logo.rc
指定应用程序资源的名称,通常由qmake或者qmake.conf处理
16. RC_ICONS = logo.ico
指定程序图标。一个程序的图标应该包含在一个生成.rc文件里,如果RC_FILE 与 RES_FILE都没设置,这个指定程序图标才起作用
17. HEADERS += xxx.h
指定项目中的头文件
HEADERS += 111.h \
222.h
18. RESOURCES += xxx.cpp
指定项目中的源文件
RESOURCE += 111.cpp \
222.cpp
19. FORMS += xxx.ui
指定项目中的界面文件
FORMS += 111.ui \
222.ui
20. CONFIG(FLAG)
指定编译器选项和项目配置,FLAG由qmake识别并具有特殊意义
变异标志:
release | 项目以release模式构建。如果也指定了debug,那么最后一个生效。 | |
debug | 项目以debug模式构建。 | |
debug_and_release | 项目准备以debug和release两种模式构建。 | |
debug_and_release_target | 此选项默认设置。如果也指定了debug_and_release,最终的debug和release构建在不同的目录。 | |
build_all | 如果指定了debug_and_release,默认情况下,该项目会构建为debug和release模式。 | |
autogen_precompile_source | 自动生成一个.cpp文件,包含在.pro中指定的预编译头文件。 | |
ordered | 使用subdirs模板时,此选项指定应该按照目录列表的顺序处理它们。 | |
precompile_header | 可以在项目中使用预编译头文件的支持。 | |
warn_on | 编译器应该输出尽可能多的警告。如果也指定了warn_off,最后一个生效。 | |
warn_off | 编译器应该输出尽可能少的警告。 | |
exceptions | 启用异常支持。默认设置。 | |
exceptions_off | 禁用异常支持。 | |
rtti | 启用RTTI支持。默认情况下,使用编译器默认 | |
rtti_off | 禁用RTTI支持。默认情况下,使用编译器默认。 | |
stl | 启用STL支持。默认情况下,使用编译器默认。 | |
stl_off | 禁用STL支持。默认情况下,使用编译器默认。 | |
thread | 启用线程支持。当CONFIG包括qt时启用,这是缺省设置。 | |
c++11 | 启用c++11支持。如果编译器不支持c++11这个选项,没有影响。默认情况下,支持是禁用的。 | |
c++14 |
| |
例如:
//debug模式下的
CONFIG(debug, debug|release) {
LIB += -laaad
LIB += -lbbbd
}
//release 模式下的
CONFIG(release, debug|release) {
LIB += -laaa
LIB += -lbbb
}
21. 引入环境变量
LIB += -L$$(QTDIR)/include
22.定义与引用普通变量
//定义变量
SELF_DEF = $$PWD/../libDir
//引用 定义好的变量
LIBS += -L$$SELF_DEF/include