GCC忽略了在buildscript中的第二个Wno-error选项,出了什么问题?

时间:2012-04-18 13:25:59

标签: gcc build gcc-warning build-script

编辑:使用的gcc-version是4.6。

我正在尝试构建一个工具链,我有一个构建脚本来构建所需的库。

我正在尝试构建binutils,因为警告被视为错误,并且停止构建过程,我在buildscript中有以下部分:

build_binutils() {
echo "Building binutils..."
if [ ! -e .binutils_extracted ] ; then
    tar -xjf ${FILES}/binutils-${BINUTILS_VER}.tar.bz2
    touch .binutils_extracted
fi
    CFLAGS="-Wno-error=unused-but-set-variable -Wno-error=unused-but-set-parameter"
    echo "echoing cflags..."
    echo $CFLAGS
    rm -rf binutils-build && mkdir -p binutils-build && cd binutils-build &&
    ../binutils-${BINUTILS_VER}/configure --target=arm-elf --prefix=${PREFIX} --enable-interwork --enable-multilib &&
make ${MAKE_THREADS} all CFLAGS=${CFLAGS} &&
    make install &&
    cd ${GNUARM_BUILDDIR}
}

当我运行buildscript时,它会停止出现一个错误,该错误来自一个未使用但设置参数的警告,因为gcc只运行第一个提供的-Wno-error开关,这可以在日志即

gcc -c -DHAVE_CONFIG_H -Wno-error=unused-but-set-variable  -I. -I../../binutils-2.20.1/libiberty/../include  -W -Wall -Wwrite-strings -Wc++-compat -Wstrict-prototypes -pedantic  ../../binutils-2.20.1/libiberty/safe-ctype.c -o safe-ctype.o

我的问题是如何让gcc实现两个开关?

编辑:我知道CFLAGS确实包含两个开关,因为回声带来了两个开关。

1 个答案:

答案 0 :(得分:2)

这对我来说似乎是一个引用问题。

尝试使用CFLAGS="${CFLAGS}"