我正在尝试升级到yagarto4.7.2(还有另一个GNU ARM工具链,对于那些想知道的人),这是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
现在,在这个forum中,很明显这是启动初始化库,它在gcc4.6.x之后被删除了。提出了两种解决方案:
对于生产代码来说,两者看起来都很脏并且不可接受。那么有没有人知道 为什么删除这个库以及它现在的等价物是什么?
答案 0 :(得分:3)
crt0.o派生自crt0.s,由OS提供。在裸机设置的情况下,该文件必须由实现提供。它包含启动和退出代码,例如将.bss归零。