2010-08-27 8 views
6

Pregunta en una frase: ¿Cómo puedo compilar el código para AIX usando G ++ en Ubuntu? (Suponiendo que es posible)¿Compila el código de C++ para AIX en Ubuntu?

Espero que sea tan simple como agregar una opción al archivo make para especificar el procesador de destino. Soy un novato cuando se trata de la mayoría de las cosas relacionadas con el compilador.

Gracias de antemano.

+0

La creación de una cadena de herramientas de compilación cruzada no es para los débiles de corazón. Necesitará construir gcc desde la fuente (no trivial para empezar) luego siga las instrucciones detalladas para convertirlo en un compilador cruzado. –

Respuesta

4

Lo que estás buscando es una herramienta de compilación cruzada.

Una cadena de herramientas incluye un compilador cruzado (un compilador que se ejecuta en la plataforma actual pero construye el código binario para ejecutar en otro, en su caso, AIX), la biblioteca C o C++ y algunas otras herramientas interesantes.

He utilizado con éxito buildroot en el pasado, que es una herramienta que automatiza el proceso de creación de una cadena de herramientas de compilación cruzada. Sé que son compatibles con varias plataformas de destino, tal vez AIX es uno de ellos.

Si desea compilar su cadena de herramientas a mano, eche un vistazo a la sección Roll-su-propio en this page.

Otro acercamiento, probablemente más fácil en su caso, sería instalar un sistema de AIX dentro de una máquina virtual en Ubuntu. De esta forma, tendrías acceso a un sistema AIX completo que se ejecuta dentro de tu máquina, lo que te da la oportunidad de desarrollar y probar tu aplicación en condiciones reales (o cualquier otra razón que te resulte interesante para hacer tal cosa).

1

Deseará descargar la versión correcta de g ++ (es decir, una que genera código para POWER, o lo que sea que esté ejecutando AIX), y compilar eso para ejecutar bajo Ubuntu.

+0

También deberá asegurarse de que incluye las diversas bibliotecas de tiempo de ejecución que necesitará, a menos que desee construir todo de forma estática y ver cómo el tamaño de su ejecutable crece a pasos agigantados. –

1

Intenta compilar con -maix32 o -maux64 (como g ++ -m32 file.cxx), no funciona, significa que no es compatible con tu compilador.

Cuestiones relacionadas