Qt .pro文件部分变量解析

来源:互联网 发布:ringdivas 淘宝 编辑:程序博客网 时间:2024/05/01 00:02

由于项目需要,转战QT半月有余,被虐的够惨的,把相关心得写下来,寻求大家的帮助与指导。

日期:2016-06

主要变量

TARGET:      用于表示生成的exe/dll/lib名称;
TEMPLATE: 生成工程时,指明生成的对象,可以是库,也可以是exe等,具体说来:
                       lib:       生成用来编译库的Makefile;
                              app:      生成用来编译可执行文件的Makefile;
                              subdir:  生成针对子目录的Makefile,子目录由变量SUBDIRS指定;
                               vcapp:  生成用于VS开发环境的软件工程——当然,只能用于windows系统;
                               vclib:    生成用于VS开发环境的库工程——只用于windows系统;
CONFIG:     设定工程编译、构造的参数,具体说来:
                               release:    工程只在release模式下编译,貌似就算选择debug模式也是生成的release,不可调试?待确认
                               debug:       工程只在debug模式下编译,如果同时定义了release放在后面的有效。
                               debug_and_release:   两种模式都支持。...待完善
INCLUDEPATH头文件所在目录
DEPENDPATH:  依赖文件所在目录,一般需要包括源文件目录及对应的头文件目录。它的具体作用是,当头文件修改后,QTcreator会对源文件进行重新编译,点击打开链接, 文章指出QT5已经不需要该选项了,只需要添加CONFIG += depend_includepath,QT就可以自动识别。
DESTDIR     定义用来存放TARGET的目录,当编译动态库时,用来存放动态库
QT:                   定义好QT模式,比如+=opengl gui
LIBS:                声明工程所需要的外部库


其他说明:

1. #表示行注释,即#后的内容为注释内容;

2. 在pro文件中一行写不下了,换行后面需要加反斜杠\, 如:

3. += 表示添加,-=表示排除,如: INCLUDEPATH += A B表示INCLUDEPATH在原有的基础上添加了A 和B两个目录;

win32:dll:CONFIG  +=...    表示windows下的dll的CONFIG选项,也可以表示为:

win32

{

      dll:CONFIG +=...

...

}

4.在pro文件中,$$表示变量引用,如DEPENDPATH += $$INCLUDEPATH

6. PWD表示pro文件所在的目录

5. LIBS的用法,建议采用通用的-L{dirname}空格-l{libname}的形式:
    LIBS += -L$$PWD/lib空格-lstdio 表示将pro文件所在目录下的lib子目录里面的stdio.lib(windows库)或者stdio.a(linux库)链接到该工程

6. 不同平台下的qtcretor都包含了特定的宏来规定对qt库的编译原则,如在windows版的qtcreator内定义了Q_WS_WIN(QT5之前)Q_OS_WIN(QT5之后)


0 0
原创粉丝点击