1

編集:使用されるgcc-versionは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が実際に両方のスイッチを含んでいることを私は知っています。

4

1 に答える 1

2

それは私には引用の問題のように見えます。

使ってみてくださいCFLAGS="${CFLAGS}"

于 2012-04-18T20:50:03.620 に答える