Sto tentando di eseguire l'aggiornamento a yagarto4.7.2 (ancora un'altra toolchain GNU ARM, per chi si chiede), che è gcc e binutils, portati per Windows. Tuttavia, cercando di compilare un semplice rendimenti Ciao Mondo:Qual è la logica alla base della rimozione di crt0.o da gcc4.7.x?
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
Ora, in questo forum è fatto chiaro che questa è la biblioteca di avvio initialziation, che è stato rimosso dopo gcc4.6.x. Vengono proposte due soluzioni:
- compilare con -nostartfiles
- copiare il crt0.o formare il 4.6.x alla cartella 4.7.x
Entrambi sembrano abbastanza sporca e inaccettabile per il codice di produzione. Qualcuno sa quindi perché questa libreria è stata rimossa e qual è l'equivalente ora?
Alcuni fatti chiave su * yargarto *; un compilatore * new * basato su * mingw *, pre-costruito. Vedi: [SO gcc newlib questions] (http://stackoverflow.com/search?q= [gcc] + newlib + è% 3Aquestion). È possibile costruire questo tipo di compilatore con [crosstool-ng] (http://crosstool-ng.org/), ma è estremamente difficile in quanto è una * croce canadese *. –
http://stackoverflow.com/questions/18416564/how-to-solve-the-crt0-o-issue-in-cross-compiling – 0x90