我的问题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编译时,我需要做什么才能构建这个链接库
发布于 2014-07-04 09:42:30
我能够通过一些特定于该configure脚本的额外选项来完成这个任务。
虽然我在提出这个问题时还没有意识到,但这些问题各不相同,所以需要对可用的特定选项(./configure --help应该总是列出可用的选项)有一些熟悉或尝试和错误。
我还应该指出,make check在构建系统上总是会失败,因此不值得。
发布于 2014-07-04 12:18:22
你用错了交叉编译器。
arm-none-eabi用于裸金属程序。
相反,使用arm-none-linux-gnueabi-gcc,它将包含库来解决未定义的行为。
看一看@ Cross compile error "arm-none-eabi-g++ cannot find entry symbol"
https://stackoverflow.com/questions/24559878
复制相似问题