C++ 建设libgcc、libsupc和x2B+;4.6使用更新的工具链

C++ 建设libgcc、libsupc和x2B+;4.6使用更新的工具链,c++,linux,gcc,makefile,cross-compiling,C++,Linux,Gcc,Makefile,Cross Compiling,我尝试使用更新的工具链(如4.8.3或4.9.1)从4.6构建libgcc、libsupc++。当我尝试使用比4.6.4更新的gcc构建时,出现错误: /home/user/toolchain/arm-linux-gnueabi-linaro_4.8.3-2014.04/bin/arm-linux-gnueabi-g++ -Os -fno-builtin -fno-common -ffreestanding -isystem ../libbase/include -isystem include

我尝试使用更新的工具链(如4.8.3或4.9.1)从4.6构建libgcc、libsupc++。当我尝试使用比4.6.4更新的gcc构建时,出现错误:

/home/user/toolchain/arm-linux-gnueabi-linaro_4.8.3-2014.04/bin/arm-linux-gnueabi-g++ -Os -fno-builtin -fno-common -ffreestanding -isystem ../libbase/include -isystem include -Ilibsupc++ -Ilibgcc -DIN_LIBGCC2 -mfloat-abi=soft -marm -march=armv7-a  -c /home/user/project/lxx/libsupc++/array_type_info.cc -o libsupc++/array_type_info.pic.o -fPIC -DPIC
In file included from /home/user/toolchain/arm-linux-gnueabi-linaro_4.8.3-2014.04/arm-linux-gnueabi/include/c++/4.8.3/arm-linux-gnueabi/bits/c++config.h:426:0,
                 from libsupc++/exception:39,
                 from /home/user/project/lxx/libsupc++/typeinfo:36,
                 from /home/user/project/lxx/libsupc++/tinfo.h:26,
                 from /home/user/project/lxx/libsupc++/array_type_info.cc:25:
/home/user/toolchain/arm-linux-gnueabi-linaro_4.8.3-2014.04/arm-linux-gnueabi/include/c++/4.8.3/arm-linux-gnueabi/bits/os_defines.h:44:19: error: missing binary operator before token "("
 #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
    /home/user/toolchain/arm-linux-gnueabi-linaro_4.8.3-2014.04/bin/arm-linux-gnueabi-g++ -Os -fno-builtin -fno-common -ffreestanding -isystem ../libbase/include -isystem include -Ilibsupc++ -Ilibgcc -DIN_LIBGCC2 -mfloat-abi=soft -marm -march=armv7-a -nostdinc++ -c /home/user/project/lxx/libsupc++/array_type_info.cc -o libsupc++/array_type_info.pic.o -fPIC -DPIC
    In file included from /home/user/project/lxx/libsupc++/typeinfo:36:0,
                     from /home/user/project/lxx/libsupc++/tinfo.h:26,
                     from /home/user/project/lxx/libsupc++/array_type_info.cc:25:
libsupc++/exception:39:28: fatal error: bits/c++config.h: No such file or directory
#include <bits/c++config.h>
                            ^
compilation terminated.
我尝试添加flag-nostinc++,但出现错误:

/home/user/toolchain/arm-linux-gnueabi-linaro_4.8.3-2014.04/bin/arm-linux-gnueabi-g++ -Os -fno-builtin -fno-common -ffreestanding -isystem ../libbase/include -isystem include -Ilibsupc++ -Ilibgcc -DIN_LIBGCC2 -mfloat-abi=soft -marm -march=armv7-a  -c /home/user/project/lxx/libsupc++/array_type_info.cc -o libsupc++/array_type_info.pic.o -fPIC -DPIC
In file included from /home/user/toolchain/arm-linux-gnueabi-linaro_4.8.3-2014.04/arm-linux-gnueabi/include/c++/4.8.3/arm-linux-gnueabi/bits/c++config.h:426:0,
                 from libsupc++/exception:39,
                 from /home/user/project/lxx/libsupc++/typeinfo:36,
                 from /home/user/project/lxx/libsupc++/tinfo.h:26,
                 from /home/user/project/lxx/libsupc++/array_type_info.cc:25:
/home/user/toolchain/arm-linux-gnueabi-linaro_4.8.3-2014.04/arm-linux-gnueabi/include/c++/4.8.3/arm-linux-gnueabi/bits/os_defines.h:44:19: error: missing binary operator before token "("
 #if __GLIBC_PREREQ(2,15) && defined(_GNU_SOURCE)
    /home/user/toolchain/arm-linux-gnueabi-linaro_4.8.3-2014.04/bin/arm-linux-gnueabi-g++ -Os -fno-builtin -fno-common -ffreestanding -isystem ../libbase/include -isystem include -Ilibsupc++ -Ilibgcc -DIN_LIBGCC2 -mfloat-abi=soft -marm -march=armv7-a -nostdinc++ -c /home/user/project/lxx/libsupc++/array_type_info.cc -o libsupc++/array_type_info.pic.o -fPIC -DPIC
    In file included from /home/user/project/lxx/libsupc++/typeinfo:36:0,
                     from /home/user/project/lxx/libsupc++/tinfo.h:26,
                     from /home/user/project/lxx/libsupc++/array_type_info.cc:25:
libsupc++/exception:39:28: fatal error: bits/c++config.h: No such file or directory
#include <bits/c++config.h>
                            ^
compilation terminated.

显然libsupc++/exception:39:28:致命错误:bits/c++config.h:没有这样的文件或目录是错误检查您的文件及其权限bits/c++config.h包含在工具链中,所以我认为-nostdinc++不是好的解决方案。