Qt的.pro文件格式解析
Qt的.pro文件格式解析
在Qt中用qmake生成makefile文件,它是由.pro文件生成而来的,.pro文件的具体格式语法如下:
1.注释
.pro文件中注释采用#号,从“#”号开始,到该行的结束,例如:
2.模板TEMPLATE
模板变量告诉qmake为这个应用程序生成那种makefile文件。下面是可提供使用的选择:
TEMPLATE=app
- app-建立一个应用程序的makefile。这是个默认值,所以如果模板没有被指定,该模板将会被使用。
- lib -建立一个库的makefile。
- vcapp -建立一个应用程序的Visual Studio项目文件。
- vclib -建立一个库的VisualStudio项目文件。
- subdirs -这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile,并且为它调用make的makefile。
3.添加文件路径
-
HEADERS +=
用来添加头文件 -
SOURCES +=
用来添加源文件 -
FORMS +=
用来添加 ui 文件 -
RESOURCES +=
用来添加资源文件 -
INCLUDEPATH +=
用来存放添加头文件的路径 -
DEPENDPATH +=
用来添加依赖相关路径 -
LIBS +=
用来添加库文件
注意:
INCLUDEPATH一般用在添加第三方 .dll 的时候所需的头文件路径;
HEADERS用来添加当前项目的路径;
LIBS += -LC:/Windows/System32/ -luser32
格式为:-L 路径 -l 库名
库比较多的时候可以用 \来达到换行目的
引用相对路径的库文件的时候,$$PWD 指的是项目 .pro 文件所在的路径,`$$OUT_PWD` 指的是编译的目标所在的路径。如果不清楚路径,可以使用 message($$PWD) 打印路径查看绝对路径。
DESTDIR +=
指定生成的应用程序的存放目录。TARGET =
指定生成的应用程序的名字。UI_DIR +=
用来存放编译的时候 ui 生成的 ui_*.h 文件。RCC_DIR +=
存放 .qrc 生成的 qrc_*.h 文件。MOC_DIR +=
用来存放 moc 命令转换添加的Q_OBJECT
的 .h 文件为标准 .h 文件的存放路径。OBJECTS_DIR +=
用来存放目标文件 .obj 存放的路径。
注:
UI_DIR
、RCC_DIR
、 MOC_DIR
、OBJECTS_DIR
可以认为都是用来存放中间文件,只是存放的中间文件有所不同,不指定的话默认会存放在 .pro 文件所在的路径,显得工程看起来比较乱
4.添加配置信息
CONFIG +=
用来指的应用程序的配置信息。
参数 | 说明 |
---|---|
release | 项目被联编为一个发布的应用程序 |
debug | 项目被联编为一个debug的应用程序,debug 和 release 同时设置的时候,最后面的一个生效 |
debug_and_release | 项目被联编为 debug 和 release |
warn_on | 编译器输出尽可能多的警告信息 |
c++11 | 支持 c++11 的标准 |
thread | 支持线程,当 CONFIG 参数包含 qt 的时候,这个是默认支持的 |
5.实例
TEMPLATE = app
LANGUAGE = C++
QT += widgets xml sql network opengl
CONFIG += qt warn_on release
HEADERS += *.h
SOURCES += *.cpp
FORMS += *.ui
RESOURCES += \
DiffusionFilter.qrc