我有一个bash脚本,根据标志编译带或不带符号的程序。它首先使用这些命令之一生成makefile
$QMAKE -makefile CONFIG-=release CONFIG+=debug $BASEDIR/project/myproj.pro
$QMAKE -makefile CONFIG-=debug CONFIG+=release $BASEDIR/project/myproj.pro
这在Fedora下工作正常,但在redhat 6下我注意到makefile总是添加了-g参数作为编译器选项。 (不管我发出上述哪个命令)。在RH6下,后一行产生:
CFLAGS = -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -Wall -W -D_REENTRANT -fPIE $(DEFINES)
在Fedora 20下生成:
CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIE $(DEFINES)
有人可以解释为什么qmake会在2个版本的linux下生成不同的Makefile,以及如何解决这个问题? (以便后一个命令不为编译器添加-g参数)