2012-06-25 13 views
5

¿Alguien ha usado maven-nar-plugin para compilar código C++ para diferentes plataformas, usando diferentes compiladores? Si hay alguien, por favor dame más información con respecto a esto. Me pregunto cómo puede ser un archivo NAR creado para diferentes plataformas con maven. Sé que para poder construir un proyecto en una plataforma específica, debe ejecutar la construcción en esa plataforma y usar los compiladores y vinculadores específicos de esa plataforma. Pero mi experiencia está relacionada con los proyectos de Java y con Maven, y como ya saben, Java es una plataforma portátil, así que hasta ahora no he experimentado problemas como la delgadez. ¡Por lo tanto, cualquier ayuda y detalles sobre cómo construir proyectos con maven-nar-plugin se verían favorecidos! Graciasconstruir proyectos C++ en Maven con maven-nar-plugin

+1

Miro el plugin NAR pero terminé escribiendo el mío para el proyecto QtJambi. https://qt.gitorious.org/qt-jambi/qtjambi-community-maven/trees/master el proyecto se compila para Windows, Linux y MacOSX para Windows. Hay MSVC y MinGW y todas las plataformas son a la vez de 32 bits y 64 bits. Tendrás que extraerlo del árbol de git. –

Respuesta

2

Actualmente, la forma más segura de construir múltiples binarios de plataforma con maven-nar-plugin es hacerlo en diferentes plataformas, en lugar de intentar una solución basada en compilación cruzada.

Por ejemplo, el proyecto ImageJ usa maven-nar-plugin para construir un small native launcher para Linux, OS X y Windows, versiones de 32 bits y 64 bits.

Para lograr esto, el proyecto tiene un Jenkins CIS en un servidor Linux, un Windows 7 64-bit VM en VirtualBox con un esclavo Jenkins y un esclavo Jenkins de escritorio OS X, cada uno realiza la construcción Maven para su plataformas respectivas.

Ha sido bastante complicado de configurar; hay instrucciones detalladas en this ticket of the ImageJ issue tracker.

En una nota relacionada, un grupo de desarrolladores interesados ​​resucitaron maven-nar-plugin recientemente, migrando el repositorio oficial a new maven-nar organization. Uno de los elementos de interés es la compilación cruzada, que facilitaría la creación de binarios nativos para múltiples AOL en la misma plataforma sin recurrir a los esclavos de Jenkins. Pero hay muchos desafíos (por ejemplo, el comportamiento de cambios de GCC a menudo), y aún no es fácil de hacer. ¡Invitamos a desarrolladores interesados ​​a unirse a la discusión sobre el nuevo maven-nar-plugin mailing list!

+0

Su enlace para el iniciador está roto, ¿todavía existe? –

+1

Lo siento Paul, actualicé el enlace a su ubicación actual. – ctrueden

Cuestiones relacionadas