我正在为ARM编译库,但配置文件需要--host选项才能进行交叉编译。
在正常的简单情况下,我会使用
进行编译CC = arm-none-eabi-gcc
CFLAGS =--specs=nosys.specs -Wall -O2 -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -ffast-math
我尝试了./configure --host=arm-none-eabi-gcc
但是这给了
checking host system type... Invalid configuration arm-none-eabi-gcc: machine arm-none-eabi not recognized
我也试过--host=armv7e-m
我尝试搜索主机列表,但它们已旧/未维护/未完成:
https://gcc.gnu.org/gcc-3.3/buildstat.html
https://gcc.gnu.org/install/specific.html
答案 0 :(得分:1)
通常--host
指定编译器将在其上运行的系统。生成的交叉编译器将为其生成代码的系统称为--target
。例如,如果您计划在x86_64 Linux机器上运行交叉编译器,则可能需要--host=x86_64-unknown-linux-gnu
之类的内容。
要选择裸金属臂目标,您可能需要指定--target=arm-none-eabi
。
在这里https://gcc.gnu.org/install/configure.html查看如何配置GCC的示例(尽管它不是一个完整的指南)。
答案 1 :(得分:0)
查看http://git.savannah.gnu.org/cgit/autoconf.git/tree/build-aux/config.sub,我可以使用armv7
。似乎要翻译为armv7-unknown-none