交叉编译arm-none-eabi-gcc的库

时间:2014-07-03 17:25:21

标签: c++ gcc arm cross-compiling

我的问题here导致解决方案/新问题,我天真地构建了我用于主机的外部库。

因此当然arm-none-eabi-gcc编译器遇到elf32-i386目标文件时会抛出一个拟合。

我最初使用以下方法构建了库:

./configure
make && make check
make install

所以,现在我想我可以做到:

make clean
./configure --host=arm-none-eabi
make && make check
make install

修复它。可悲的是错了。

我也试过了--build=x86但似乎无论如何都会自动检测到它。

CC=arm-none-eabi似乎也没有效果。


在使用arm-none-eabi-gcc进行编译时,为了能够构建此库以进行链接,我需要做什么?

2 个答案:

答案 0 :(得分:1)

我能够通过一些特定于configure脚本的额外选项来实现此功能。

虽然在提出问题时我没有意识到这些问题因此而有所不同,因此需要对可用的具体选项(./configure --help应始终列出可用的选项)进行一些熟悉或反复试验。

我还应该注意make check在构建系统上总是会失败,所以不值得。

答案 1 :(得分:1)

您使用错误的交叉编译器。

arm-none-eabi用于裸机程序。

而是使用arm-none-linux-gnueabi-gcc,它将包含用于解决未定义行为的库。

看看@ Cross compile error "arm-none-eabi-g++ cannot find entry symbol"