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

 

 

 

 

 

posted @ 2020-05-11 15:10  ike_li  阅读(496)  评论(0)    收藏  举报