我正在处理的项目必须使用交叉编译器进行编译。我的binutils
和gcc
已经安装到~/opt/cross
,但是当我尝试编译时,我遇到了这个错误:
/home/george/opt/cross/lib/gcc/i686-elf/6.1.0/../../../../i686-elf/bin/ld: cannot find crt0.o: No such file or directory
/home/george/opt/cross/lib/gcc/i686-elf/6.1.0/../../../../i686-elf/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
我的代码只使用GCC的独立标题(我的完整编译命令:~/opt/cross/bin/i686-elf-gcc kernel.c tty.c -std=gnu99 -ffreestanding -O2 -Wall -Wextra
)。
那么什么是crt0.o
以及如何解决此错误?