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
9.添加程序版本号
新建一个记事本文件,修改成version.rc,放在项目目录,在.pro添加 RC_FILE += version.rc
#if defined(UNDER_CE) #include <winbase.h> #else #include <winver.h> #endif VS_VERSION_INFO VERSIONINFO FILEVERSION 1,0,0,0 PRODUCTVERSION 1,0,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS VS_FF_DEBUG #else FILEFLAGS 0x0L #endif FILEOS VOS__WINDOWS32 FILETYPE VFT_DLL FILESUBTYPE 0x0L BEGIN BLOCK "StringFileInfo" BEGIN BLOCK "080404b0" BEGIN VALUE "CompanyName", "likewei" VALUE "FileVersion", "1.0.0.0" VALUE "ProductVersion", "1.0.0.0" VALUE "LegalCopyright", "Copyright likewei" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x804, 1200 END END

浙公网安备 33010602011771号