**原址:**Qt 的 .pro 文件
在 Qt 中用 qmake 生成 makefile 文件主要是依据 .pro 文件。
常用的参数
#
.pro 文件中注释一行采用#
HEADERS +=
用来添加头文件SOURCES +=
用来添加源文件FORMS +=
用来添加 ui 文件RESOURCES +=
用来添加资源文件INCLUDEPATH +=
用来存放添加头文件的路径DEPENDPATH +=
用来添加依赖相关路径LIBS +=
用来添加库文件
注:
INCLUDEPATH
一般用在添加第三方 .dll 的时候所需的头文件路径;
HEADERS
用来添加当前项目的路径;
LIBS += -LC:/Windows/System32/ -luser32
格式为:-L
路径-l
库名
库比较多的时候可以用\
来达到换行目的
引用相对路径的库文件的时候,$$PWD
指的是项目 .pro 文件所在的路径,$$OUT_PWD
指的是编译的目标所在的路径。如果不清楚路径,可以使用message($$PWD)
打印路径查看绝对路径。
TEMPLATE
告诉 makefile 要生成那种 makefile 文件。例如, app 这个默认值在 window 下面表示要生成 .exe 文件。
参数 | 说明 |
---|---|
app | 建立生成 application 的 makefile 文件。当 CONFIG 参数为 windows 会生成一个 GUI 工程,为 console 会生成一个控制台程序,为 testcase 则会成生成一个测试程序 |
lib | 建立一个生成库文件的 makefile 文件 |
subdirs | 建立一个生成子目录的 makefile 文件,一般出现在一个项目中有好几个子项目的时候 |
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 文件所在的路径,显得工程看起来比较乱。
CONFIG +=
用来指的应用程序的配置信息。
注:
参数 | 说明 |
---|---|
release | 项目被联编为一个发布的应用程序 |
debug | 项目被联编为一个debug的应用程序,debug 和 release 同时设置的时候,最后面的一个生效 |
debug_and_release | 项目被联编为 debug 和 release |
warn_on | 编译器输出尽可能多的警告信息 |
c++11 | 支持 c++11 的标准 |
thread | 支持线程,当 CONFIG 参数包含 qt 的时候,这个是默认支持的 |
DEFINES +=
定义编译选项。
如果在代码中使用了如 #ifdefine xx 就可以在这里添加。
可以用 win32 linux andorid mac symbian 来处理平台相关性内容。
例如:
win32 {
SOURCES += hello_win.cpp
}
debug 和 release 用来处理 debug 和 release 版本相关的内容。
例如:
release {
SOURCES += hello_win.cpp
}
QT += 用来处理需要依赖的 Qt 模块,如: network gui 等。
参考文档