我希望为ARM系统创建一个GCC的本机构建,但我遇到了一些麻烦。构建机器是i686-linux。我看到的每个教程都告诉我如何设置实际的交叉编译套件(我已经使用crosstools-ng完成了)。但是,我没有看到任何与编译本机ARM GCC相关的内容。我使用的配置字符串如下,我只使用标头设置了sysroot。我还交叉编译并安装了GMP和MPFR。
../../gcc-4.3.5/configure \
--host=arm-unknown-linux-gnueabi \
--build=i686-build_pc-linux-gnu \
--target=arm-unknown-linux-gnueabi \
--prefix=/home/vm/gcc-native/sysroot \
--with-sysroot=/home/vm/gcc-native/sysroot \
--enable-shared --enable-threads --disable-libmudflap --disable-libssp \
--disable-libgomp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld \
--enable-languages=c,c++ --enable-symvers=gnu --enable-__cxa_atexit \
--disable-nls --disable-multilib \
--with-gmp=/home/vm/gcc-native/sysroot/ \
--with-mpfr=/home/vm/gcc-native/sysroot/
海湾合作委员会将建立一段时间,但随后就死了:
检查目标文件的后缀... configure:error:无法计算目标文件的后缀:无法编译。
我不确定这将如何在我的系统上运行,因为我在i686-linux上构建并且目标/主机都是arm-linux。我现在的想法是找到一个ltib发行版并查看GCC的规范文件并尝试遵循所有步骤。由于与std命名空间的冲突,ltib为我的主板附带的GCC无法在我的系统上编译。
任何信息/链接都将不胜感激!
答案 0 :(得分:2)
查看config.log文件(可能不是顶级文件)并查看测试失败时尝试执行的操作。只需要查看cannot compute suffix
消息,你应该找到正确的位(它不会在文件的末尾)。
请注意,如果要构建跨本机工具链,则需要在路径上使用arm-unknown-linux-gnueabi-gcc
。即你需要一个交叉编译器来构建跨本机编译器。