2010-08-27 4 views
6

Frage in einem Satz: Wie kann ich Code für AIX mit G ++ auf Ubuntu kompilieren? (Angenommen, es ist möglich)Kompilieren Sie C++ - Code für AIX auf Ubuntu?

Ich hoffe, dass es so einfach ist wie das Hinzufügen einer Option zu der make-Datei, um Zielprozessor anzugeben. Ich bin ein Neuling, wenn es um die meisten Dinge geht, die mit dem Compiler zu tun haben.

Vielen Dank im Voraus.

+0

Der Aufbau einer Cross-Compiling-Werkzeugkette ist nichts für schwache Nerven. Sie müssen gcc von der Quelle erstellen (nicht trivial zu beginnen), dann folgen Sie den detaillierten Anweisungen, um es zu einem Cross-Compiler zu machen. –

Antwort

4

Was Sie suchen, ist eine Cross-Compiling Toolchain.

Eine Toolchain enthält einen Cross-Compiler (einen Compiler, der auf der aktuellen Plattform läuft, aber den Binärcode auf einem anderen, auf Ihrem Fall AIX erzeugt), die C- oder C++ - Bibliothek und einige andere interessante Tools.

Ich habe erfolgreich buildroot in der Vergangenheit verwendet, die ein Tool ist, das den Prozess der Erstellung einer Cross-Compiling-Toolchain automatisiert. Ich weiß, dass sie mehrere Zielplattformen unterstützen, vielleicht gehört AIX dazu.

Wenn Sie Ihre Toolchain von Hand kompilieren möchten, werfen Sie einen Blick auf die Roll-your-Own Abschnitt auf this page.

Ein anderer Ansatz, wahrscheinlich einfacher auf Ihrem Fall, wäre, ein AIX-System in einer virtuellen Maschine auf Ubuntu zu installieren. Auf diese Weise haben Sie Zugriff auf ein vollständiges AIX-System, das auf Ihrem Computer ausgeführt wird. So können Sie Ihre Anwendung unter realen Bedingungen entwickeln und testen (oder aus anderen Gründen, die Sie für diese Aufgabe interessant finden).

1

Sie sollten die richtige Version von g ++ herunterladen (d. H. Eine, die Code für POWER generiert, oder was auch immer Sie AIX ausführen), und kompilieren Sie das für die Ausführung unter Ubuntu.

+0

Sie müssen auch sicherstellen, dass die verschiedenen Laufzeitbibliotheken enthalten sind, die Sie benötigen, es sei denn, Sie möchten alles statisch erstellen und beobachten, wie die Größe Ihrer ausführbaren Datei sprunghaft zunimmt. –

1

Versuchen Sie, mit -maix32 oder -maux64 (wie g ++ -m32 file.cxx) zu kompilieren, es funktioniert nicht, es bedeutet, dass es nicht von Ihrem Compiler unterstützt wird.

Verwandte Themen