Makefile生成:如何防止QMake设置编译标志

时间:2015-10-25 21:00:19

标签: qt qmake

我用自己的值覆盖了一些QMAKE变量。但是,当我检查生成的makefile QMake时,我可以看到QMake在其中添加了一些额外的值,我找不到阻止它的方法,或者“清理”变量。

以下是我的项目文件示例:

marvell_release {
    QMAKE_CC=/usr/local/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-gcc
    QMAKE_CXX=/usr/local/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-g++
    QMAKE_CFLAGS=-pipe
    QMAKE_CXXFLAGS=-pipe
    QMAKE_LINK=/usr/local/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-ld
    QMAKE_LFLAGS=
}

以下是QMake从项目文件生成的内容:

CC            = /usr/local/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-gcc
CXX           = /usr/local/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-g++
DEFINES       = 
CFLAGS        = -pipe -O2 -Wall -W -fPIE $(DEFINES)
CXXFLAGS      = -pipe -O2 -Wall -W -fPIE $(DEFINES)
INCPATH       = -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64
LINK          = /usr/local/arm-marvell-linux-gnu/bin/arm-marvell-linux-gnu-ld
LFLAGS        = -Wl,-O1

如您所见,LFLAGS变量包含两个我未指定的选项,我想删除它们。有谁知道如何做到这一点,或解释为什么这些值被追加?

1 个答案:

答案 0 :(得分:1)

为qmake自定义您自己的mkspec,引用可以是:https://github.com/qtproject/qtbase/tree/5.5/mkspecs/devices