1. 程式人生 > >QT工程檔案的條件編譯選擇與額外的編譯引數配置

QT工程檔案的條件編譯選擇與額外的編譯引數配置

QTCreator開啟.pro工程檔案後,依據不同的構建套件建立專案組。在專案組中,點開構建步驟的“詳情”,增加一個自己的巨集定義,比如:

DEFINES+=IMX_287

然後,我們在.pro檔案中新增:

contains(DEFINES,IMX_287){
    # contains 'Embedded Linux'
    message( "Configuring for Embedded Linux CLIENT build..." )
    INCLUDEPATH     +=  /opt/netconfig-imx287/include /usr/local/include /usr/lib/perl/5.18
/CORE LIBS += -L/opt/netconfig-imx287/lib -ldl -Wl,-E -lm QMAKE_CFLAGS += -fno-strict-aliasing -pipe -Os -Ulinux \ -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dlinux=linux # QMAKE_CFLAGS += -Wno-unused-parameter -Wunused-variable
# QMAKE_CXXFLAGS += -Wno-unused-parameter -Wunused-variable } else { # contains 'Desktop Linux' INCLUDEPATH += /opt/netconfig-pc/include /usr/local/include /usr/lib/perl/5.18/CORE LIBS += -L/opt/netconfig-pc/lib -ldl -Wl,-E -lm QMAKE_CFLAGS += -fno-strict-aliasing -g -O2 -Ulinux -fstack-protector -fno-strict-aliasing -pipe \ -Dlinux=linux -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
# QMAKE_CFLAGS += -Wno-unused-parameter -Wunused-variable # QMAKE_CXXFLAGS += -Wno-unused-parameter -Wunused-variable }

如此一來,在我們選擇相應的專案配置時,qmake就會根據我們自定義的DEFINE來配置編譯選項。

在需要對工程檔案新增額外的編譯引數時,需要在.pro檔案中追加相關的編譯選項,對於cpp檔案,要使用QMAKE_CXXFLAGS,對於c檔案,要使用QMAKE_CFLAGS。