Qt pro配置文件备忘


关于Qt中project文件中的变量配置,可以查看Qt帮助文档中的variable变量手册

1.DEFINES

1.1 在代码文件作为判断条件

例如:

DEFINES += USE_MY_STUFF

然后就可以在代码中使用:

#ifdef USE_MY_STUFF
// TODO
#else
// TODO
#endif

 

1.2 在.pro 中不同的条件调用不同的文件

DEFINES += QT_DEPRECATED_WARNINGS RUN_MINGW_32_LIB
if(contains(DEFINES,RUN_MINGW_32_LIB)){

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/thirdpart/fontIcons_mingw_32/ -lfonticons
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/thirdpart/fontIcons_mingw_32/ -lfonticonsd

INCLUDEPATH += $$PWD/thirdpart/fontIcons_mingw_32
DEPENDPATH += $$PWD/thirdpart/fontIcons_mingw_32

}else{

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/thirdpart/fontIcons_mingw_64/ -lfonticons
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/thirdpart/fontIcons_mingw_64/ -lfonticonsd

INCLUDEPATH += $$PWD/thirdpart/fontIcons_mingw_64
DEPENDPATH += $$PWD/thirdpart/fontIcons_mingw_64
}

  

2.DEPENDPATH

指定查看解决依赖关系的目录列表,当包含文件时使用。

例如:

DEPENDPATH += . forms include qrc sources

3.INCLUDEPATH

指定编译项目时应该被搜索的#include目录。

例如:

INCLUDEPATH = c:/msdev/include d:/stl/include

如果路径包含空格,需要使用引号包含。

win32:INCLUDEPATH += "C:/mylibs/extra headers"
unix:INCLUDEPATH += "/home/user/extra headers"

4.LIBS

-L指定库的目录,而-l指定库的名字(如果是在Linux下,则去掉lib和后缀名,windows下去掉后缀名即可),静态库、动态库都是一样的。如果使用相对路径,而库又想要被程序找的到,那么这个相对路径指的是执行程序生成的位置于库的相对路径,因为QT编译时会把生成路径放在和项目相同目录下的另一个文件夹中,那么也就是说,我们必须把库拷贝到编译生成的目录下才行。

例如:

win32:LIBS += c:/mylibs/math.lib
unix:LIBS += -L/usr/local/lib -lmath

如果路径包含空格,需要使用引号包含路径。

win32:LIBS += "C:/mylibs/extra libs/extra.lib"
unix:LIBS += "-L/home/user/extra libs" -lextra

4.RC_ICONS

仅适用于Windows,指定的图标应该包含在一个生成的.rc文件里。如果RC_FILE 和RES_FILE变量都没有设置这才可利用。

例如:

RC_ICONS = myapp.ico

 

5.PWD

表示当前.pro文件所在的路径。

INCLUDEPATH += $$PWD/../mydll

6.OUT_PWD

表示输出的“Makefile”所在的路径(通常在编译后生成的.exe文件的上层目录里)。

LIBS += -L$$OUT_PWD/../funDll/ -lfunDll

7.CONFIG

CONFIG 变量用于指定工程配置和编译器选项,通常取debug,release,dll等值,也可以自定义选项值, CONFIG变量的每个选项都可以用于条件判断。

CONFIG += qt5   
qt5{  
LIBS += -lmydll_qt5  
}else{  
LIBS += -lmydll  
}

 

8.debug编译后面加d

win32:CONFIG(debug,debug|release):TARGET = fonticonsd
else:win32:CONFIG(release,debug|release):TARGET = fonticons

 

原文地址:https://www.cnblogs.com/ike_li/p/12869307.html