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


Log in to reply