QT工程檔案的條件編譯選擇與額外的編譯引數配置
阿新 • • 發佈:2019-01-01
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。