Gebäude-GCC cross-compiler (aus "Linux", "Windows")
Will ich bauen "gcc-cross-compiler" kompiliert "c/c++ - Anwendungen" auf "Linux" Umwelt, sondern auch für "Windows" target.
Habe ich aus dieser so weit:
-
Installiert die erforderlichen tools und Pakete für Gebäude GCC, aufgeführt auf "Voraussetzungen für den GCC" Seite.
-
Heruntergeladen erforderlichen Quellen:
"gcc-core-4.4.1", "gcc-g++-4.4.1", "binutils-2.19.1", "w32api-3.13-mingw32", "mingwrt-3.16-mingw32" -
Erstellt dieses Verzeichnis-Hierarchie:
"${HOME}/gcc/" - für die Letzte cross-compiler
"${HOME}/src/" - "Quellen"
"${HOME}/src/build-binutils/i386-mingw32/" - für Gebäude binutils auf "i386-mingw32" target
"${HOME}/src/build-gcc/i386-mingw32/" - für den Bau von gcc auf "i386-mingw32" target -
Gebaut binutils-Paket:
cd "${HOME}/src/build-binutils/i386-mingw32/"
../../binutils-2.19.1/configure --prefix="${HOME}/gcc" --target=i386-mingw32 --disable-nls
machen
make install -
Kopiert "w32api" und "mingwrt" - Header in das Installations-Verzeichnis:
cp -R "${HOME}/src/w32api-3.13-mingw32/include" "${HOME}/gcc/i386-mingw32"
cp -R "${HOME}/src/mingwrt-3.16-mingw32/include" "${HOME}/gcc/i386-mingw32"
Und wenn ich jetzt versuche zu bauen, die "c (nur) cross-compiler":
cd "${HOME}/src/build-gcc/i386-mingw32/"
../../gcc-4.4.1/configure --prefix="${HOME}/gcc" --target=i386-mingw32 --enable-languages=c --with-headers="${HOME}/gcc/i386-mingw32/include" --disable-nls
make<br>
es wurde das Gebäude etwas über 4 Minuten und dann gibt mir diese Fehler:
${HOME}/gcc/i386-mingw32/bin/ld: dllcrt2.o: No such file: No such file or directory
collect2: ld returned 1 exit status
make[2]: *** [libgcc_s.dll] Error 1
make[2]: Leaving directory `${HOME}/src/build-gcc/i386-mingw32/i386-mingw32/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory `${HOME}/src/build-gcc/i386-mingw32'
make: *** [all] Error 2
Aus, dass die Fehlermeldung ich weiß wirklich nicht, was jetzt zu tun :-((( .
Weiß jemand, wo ist das problem?
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das ist eigentlich OK: die Art und Weise Dinge, die Sie brauchen, um
dllcrt2.o
)Haben Sie erfolgreich ausgeführt Schritt 3 oben; es scheitert Gebäude libgcc (das ist eine GCC support-Bibliothek), aber das bedeutet, dass der C-compiler Kern ist functionnal (obwohl es nicht in der Lage sein link, Sie können immer noch gültige Objekt-Dateien). Sie können es überprüfen, indem man die
gcc/xgcc
Datei in Ihr GCC-build-Verzeichnis.So, Sie müssen gehen Sie zum nächsten Schritt, ohne sich Gedanken über Ihre aktuelle scheitern.
(Zu aktuellen installieren Sie die partielle C-compiler, die Sie sollten ausführen
make
mit der-k
option, um es tun, ist es am besten, selbst im Angesicht von Fehlern. Verwenden Sie zum Beispielmake -k install
.)--enable-libgomp
(OpenMP) wenn Sie die pthreads-win32-Bibliothek installiert ist.Gibt es vorkompilierte cross-Compiler von MinGW-w64 zur Verfügung.
Dies ermöglicht das kompilieren von nativen 32 - und 64-bit-Windows-Programme von Linux, eine zwei-Minuten-tutorial ist verfügbar bei http://www.blogcompiler.com/2010/07/11/compile-for-windows-on-linux/
Nur für den Fall Sie nicht wollen, verbringen eine Menge Zeit versucht, es selbst bauen.
Ich grep durch die MinGW-Quellen, und festgestellt, dass dllcrt2.o ist etwas, gebaut aus den mingwrt Paket. Ich nehme an, Sie haben zu kompilieren und zu installieren, nicht einfach kopieren Sie die Kopfzeilen?