我正在尝试升级到yagarto4.7.2(Yet Another GNU ARM toolchain,对于那些想知道的人),它是 gcc 和 binutils,移植到 Windows。但是,尝试编译一个简单的 Hello World 会产生:
c:/yagarto-20121222/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi
/bin/ld.exe: cannot find crt0.o: No such file or directory
collect2.exe: error: ld returned 1 exit status
现在,在这个论坛中,它明确表示这是启动初始化库,在 gcc4.6.x 之后被删除。提出了两种解决方案:
- 使用 -nostartfiles 编译
- 将 crt0.o 从 4.6.x 复制到 4.7.x 文件夹
对于生产代码,两者看起来都很脏且不可接受。那么有谁知道为什么这个库被删除了,现在它的等价物是什么?