使错误为:无法识别的选项'-mcpu = arm1176jzf-s'

Posted

技术标签:

【中文标题】使错误为:无法识别的选项\'-mcpu = arm1176jzf-s\'【英文标题】:make error as: unrecognized option '-mcpu=arm1176jzf-s'使错误为:无法识别的选项'-mcpu = arm1176jzf-s' 【发布时间】:2014-04-24 15:24:28 【问题描述】:

我正在尝试编译一些 C 以在友好ARM 上运行几天,但没有任何运气,我认为我很接近但收到此错误:

kevin@kevin-VirtualBox:~/Desktop/makef$ make
arm-none-linux-gnueabi-gcc -c -o obj/main.o main.c -I./
as: unrecognized option '-mcpu=arm1176jzf-s'
make: *** [obj/main.o] Error 1

有谁知道这个错误是什么意思以及如何修复它?

我尝试过的步骤:

1

touch *.*
make clean
make 
(error as: unrecognized option '-mcpu=arm1176jzf-s)

2

touch *.*
make clean
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-l
(error as: unrecognized option '-mcpu=arm1176jzf-s)

生成文件:

IDIR =./
CC=arm-none-linux-gnueabi-gcc
CFLAGS=-I$(IDIR)

ODIR=obj
LDIR =./

LIBS=-lgd -lrt

_DEPS = main.h Makefile
DEPS = $(patsubst %,$(IDIR)/%,$(_DEPS))

_OBJ = main.o serial.o fb.o menu_main.o timer.o cmdin.o buzzer.o statemachine.o inout.o network.o text_file_input.o text_file_input_oven.o
OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ))

$(ODIR)/%.o: %.c $(DEPS)
    $(CC) -c -o $@ $< $(CFLAGS)

main: $(OBJ)
    $(CC) -o $@ $^ $(CFLAGS) $(LIBS)

.PHONY: clean

clean:
    rm -f $(ODIR)/*.o *~ core $(INCDIR)/*~ 

【问题讨论】:

你能重新制定一下吗?帖子里没有问题。 您正在调用一个尝试使用自定义工具链arm-none-linux-gnueabi-gcc 编译程序的makefile。这似乎调用了汇编程序,传入-mcpu=arm1176jzf-s,并且您没有安装完整的工具链。由于您是交叉编译,因此您可能必须自己构建工具链 【参考方案1】:

表示你安装的gcc版本不理解-mcpu=arm1176jzf-s选项

您的gcc 旧版本不接受该选项,或者您的gcc 版本已关闭交叉编译支持。

【讨论】:

如何检查 gcc 的交叉编译支持是否关闭。

以上是关于使错误为:无法识别的选项'-mcpu = arm1176jzf-s'的主要内容,如果未能解决你的问题,请参考以下文章

g ++错误无法识别的命令行选项

R gputools:gcc:错误:无法识别的命令行选项'-Wp'

g++:错误:无法识别的命令行选项“-mt”

gcc:错误:选项'-mabi = aapcs-linux'中无法识别的参数

c++:错误:无法识别的命令行选项“-std=c++17”

gcc:错误:无法识别的命令行选项“-mfpu=neon-vfpv4”