undefined reference to `_exit

一、环境:

wsl ubuntu18 22都出现相同错误,arm-none-eabi-gcc

二、完整错误:

/usr/lib/gcc/arm-none-eabi/6.3.1/../../../arm-none-eabi/lib/libc.a(lib_a-exit.o): In function `exit':
/build/newlib-jo3xW1/newlib-2.4.0.20160527/build/arm-none-eabi/newlib/libc/stdlib/../../../../../newlib/libc/stdlib/exit.c:70: undefined reference to `_exit

三、解决:

加链接库  -lnosys

$(CC)gcc  -o $(patsubst %.bin, %.elf, $(target))  $^ $(LIBINC) -lnosys

四、关于libnosys.a,随便找了篇介绍如下:

libnosys是什么鬼
libgloss目录下除了和处理器相关的子目录外,还有个很特别的子目录,那就是libnosys目录,这个目录下的源文件重新定义了libgloss的所有函数,但是所有函数都是空的,例如对照一下libgloss/write.c和libgloss/libnosys/write.c这两个文件。

                        

你可能感兴趣的:(日常BUG,linux,运维,服务器)