Wie kann ich Standardbibliotheken plattformübergreifend kompilieren?

Wie kann ich Standardbibliotheken plattformübergreifend kompilieren?

Ich versuche einen Cross-Compiler für ARM einzurichten. Ich folgtedieses Tutorialund jetzt bin ich an dem Punkt, an dem ich den Cross-Compiler ausführen und Folgendes erhalten kann:

arm-unknown-eabi-gcc (GCC) 4.8.4 Copyright (C) 2013 Free Software
Foundation, Inc. This is free software; see the source for copying
conditions.  There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

Aber wenn ich versuche, Dropbear (die Software, die ich zu kompilieren versuche) mit ./configure auszuführen, erhalte ich eine Fehlermeldung:

checking for gcc... /home/josh/opt/cross/bin/arm-unknown-eabi-gcc
checking whether the C compiler works... no
configure: error: in `/home/josh/src/dropbear-2016.74':
configure: error: C compiler cannot create executables
See `config.log' for more details

Ich glaube, das liegt daran, dass ich noch keine Standardbibliothek für das Zielsystem habe, denn in dem Tutorial, das ich befolgt habe, steht:

Beachten Sie, dass dieser Compiler keine normalen C-Programme kompilieren kann. Der Cross-Compiler gibt Fehler aus, wenn Sie einen der Standardheader #includen möchten (mit Ausnahme einiger weniger, die tatsächlich plattformunabhängig sind und vom Compiler selbst generiert werden). Das ist völlig richtig – Sie haben noch keine Standardbibliothek für das Zielsystem!

Wie kann ich eine Standardbibliothek für mein Ziel erhalten/erstellen?

Antwort1

Ich habe das Problem schließlich dadurch gelöst, dass ich meinen gesamten manuell erstellten Cross-Compiler-Kram gelöscht und einfach ausgeführt habe sudo apt-get install gcc-arm-linux-gnueabi, was sofort zu funktionieren scheint.

verwandte Informationen