【问题标题】:GCC ignores second Wno-error option in buildscript, what is wrong?GCC 忽略了 buildscript 中的第二个 Wno-error 选项,这是怎么回事?
【发布时间】:2012-04-19 04:50:03
【问题描述】:

编辑:使用的 gcc 版本是 4.6。

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

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

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 确实包含两个开关,因为 echo 将两个开关都带出来了。

【问题讨论】:

    标签: gcc build gcc-warning build-script


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      • 2011-12-17
      • 2013-07-28
      • 1970-01-01
      相关资源
      最近更新 更多