2010-08-27 15 views
6

Domanda in una frase: come posso compilare il codice per AIX usando G ++ su Ubuntu? (Supponendo che sia possibile)Compilare codice C++ per AIX su Ubuntu?

Spero che sia semplice come aggiungere un'opzione al file make per specificare il processore di destinazione. Sono un principiante quando si tratta della maggior parte delle cose relative al compilatore.

Grazie in anticipo.

+0

Costruire una catena di strumenti per la compilazione di croci non è per i deboli di cuore. Dovrai compilare gcc dal sorgente (non banale per iniziare) e seguire le istruzioni dettagliate per trasformarlo in un cross-compilatore. –

risposta

4

Quello che stai cercando è una toolchain di cross-compiling.

Una toolchain include un cross-compiler (un compilatore che viene eseguito sulla piattaforma corrente ma crea il codice binario per l'esecuzione su un altro, sul proprio caso, AIX), la libreria C o C++ e alcuni altri strumenti interessanti.

Ho utilizzato con successo buildroot in passato, che è uno strumento che automatizza il processo di creazione di una toolchain di cross-compiling. So che supportano diverse piattaforme di destinazione, forse AIX è tra queste.

Se si desidera compilare la propria toolchain a mano, dare un'occhiata alla sezione Roll-your-own su this page.

Un altro approccio, probabilmente più facile per il tuo caso, sarebbe quello di installare un sistema AIX all'interno di una macchina virtuale su Ubuntu. In questo modo avresti accesso a un sistema AIX completo in esecuzione all'interno della tua macchina, dando la possibilità di sviluppare e testare la tua applicazione in condizioni reali (o per qualsiasi motivo potresti trovare interessante per fare una cosa del genere).

1

Dovrai scaricare la versione corretta di g ++ (ad esempio, quella che genera il codice per POWER, o qualsiasi altra cosa su cui stai eseguendo AIX), e compila quella da eseguire con Ubuntu.

+0

Devi anche assicurarti che includa le varie librerie di runtime di cui avrai bisogno, a meno che tu non voglia costruire tutto staticamente e guardare le dimensioni dell'eseguibile crescere a passi da gigante. –

1

Provare a compilare con -maix32 o -maux64 (come g ++ -m32 file.cxx), non funziona significa che non è supportato dal compilatore.

Problemi correlati