Libraries & Cross-Compiling
-
Ich möchte auf i386-Hardware Programme kompelieren, die auf einem ARM-Prozessor laufen soll.
Dazu habe ich mir die .i386. und .src. RPM-Packete von der Seite http://www.schnozzle.org/~coldwell/toolchain/ runtergeladen.
Weil ich ein Debian-System habe, habe ich erst die Packete von .rpm zu .deb konvertiert.
Danach habe ich die fertig-kompelierten .i386.deb-Packete installiert und nicht in der im howto beschriebenen weise die tool-chain selbst kompeliert.Diese tool-chain wurde unter /usr/arm/ angelegt.
Ich versuchte ein einfaches Hello-World-Programm mit dem cross-compiler zu übersetzen, aber das klappte nicht:
#include <iostream.h> fand der compiler nicht und unterhalb des Pfad-Zweiges /usr/arm/ fand ich keine Datei Namens iostream.h.Als ich den compiler mit Argument -I/<path_to_(i386)iostream.h> aufrief, erzeugte diese Header-Datei Übersetzungsfehler.
Welches Packet stellt iostream.h zur Verfügung? Ich würde das entsprechende ARM-Pendent installieren.
Warum kann ich nicht die Header-Datei aus der i386-Umgebung verwenden?
Ich denke, daß darin kein Maschinen-spezifischer Code steht.mfg Frank
-
iostream ist C++, du hast dir da aber nur einen C-Compiler installiert.
-
(plop!) .. und da ist ja schon die Antwort! Danke!!!
-
btw 1: <iostream.h> ist veraltet, das heißt seit fast 10 Jahren <iostream>
btw 2: vielleicht hilft dir http://wiki.debian.org/BuildingCrossCompilers weiter