Ich versuche, eine Cross-Compile-Toolchain basierend auf GCC4.5 und Newlib mit Gold und Link-Time-Optimierung aktiviert zu erstellen. GCC kompiliert gut, aber es hat die Dateien crt1.o oder crti.o nicht erzeugt. Deshalb, wenn ich den Compiler für den Aufbau Newlib zu verwenden versucht, wirft sie mit der Nachricht:Missing crt1 und crti wenn crosscompiling
ld: error: cannot open crti.o: No such file or directory
ld: error: cannot open crtn.o: No such file or directory
ld: error: cannot find -lc
Wenn für crt * im Verzeichnis mit dem Namen Dateien suchen, wo GCC4.5 installiert ist i folgendes Ergebnis bekam:
find ../../../tooltarget/ -name "crt*" -print #(result modified to consume less space)
crtprec80.o, crtend.o, crtfastmath.o, crtbegin.o, crtendS.o, crtprec32.o, crtbeginS.o, crtbeginT.o, crtprec64.o
Aus den GCC-Spezifikationen scheint gcc sowohl die Dateien crtbegin.o als auch crti.o zu haben, aber nur eine davon ist verfügbar.
*startfile:
%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o
%s;:crtbegin.o%s}
Es folgt die Flags i verwendet, wenn GCC kompilieren:
--prefix=${TTP}/usr --build=x86_64-pc-linux-gnu
--host=x86_64-pc-linux-gnu --target=x86_64-awn-linux-gnu
--with-gmp=${TTP}/usr --with-mpc=${TTP}/usr
--with-mpfr=${TTP}/usr --with-libelf=${TTP}/usr
--enable-languages=c --enable-lto
--disable-nls --disable-shared
--disable-multilib --disable-decimal-float
--disable-libmudflap --disable-libssp
--disable-libgomp --disable-threads
--without-headers --with-newlib
--with-build-sysroot=${TTP} --with-build-time-tools=${TTP}/usr/bin
Ich bin sicher auf, wenn dies aufgrund ich GCC falsch konfiguriert oder „Material“ einfach nicht auf diese Weise nicht funktionieren, oder wenn die Dateien crti.o von woanders kommen sollten.
Vielen Dank im Voraus
Allan W. Nielsen
möglich duplikat von [crti.o datei fehlt] (http://stackoverflow.com/questions/91576/crtio-o-file-missing) – user2284570
Ich habe gerade ein Problem wie dieses gelöst mit gcc build addieren '--host = x86_64 'zu'./configure' Skript, aber nicht sicher, ob es hilft. – ton