我正在寻找为 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/
GCC 将构建一段时间,但随后就会消亡:
检查目标文件的后缀...配置:错误:无法计算目标文件的后缀:无法编译。
我不确定这将如何在我的系统上运行,因为我是在 i686-linux 上构建的,并且目标/主机都是 arm-linux。我现在的想法是找到一个 ltib 发行版并查看 GCC 的规范文件并尝试遵循所有步骤。由于与 std 命名空间冲突,ltib 为我的主板附带的 GCC 无法在我的系统上编译。
任何信息/链接将不胜感激!
查看 config.log 文件(可能不是顶级文件)并查看测试失败时它尝试执行的操作。只需 grep 即可cannot compute suffix
消息,您应该找到正确的位(它不会位于文件的末尾)。
请注意,您需要一个工作arm-unknown-linux-gnueabi-gcc
如果您想构建跨本地工具链,请在您的路径上的某个地方。 IE。您需要一个交叉编译器来构建跨本机编译器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)