2012-06-25 12 views
5

qualcuno usa il plugin maven-nar per creare codice C++ per piattaforme diverse, utilizzando diversi compilatori? Se c'è qualcuno per favore dammi più informazioni su questo. Mi chiedo come può essere un file NAR creato per piattaforme diverse con Maven. So che per poter costruire un progetto su una piattaforma specifica è necessario eseguire la build su quella piattaforma e utilizzare i compilatori e i linker specifici di tale piattaforma. Ma la mia esperienza è legata ai progetti Java e Maven e, come già sapete, Java è una piattaforma abbastanza portatile, quindi non ho mai avuto problemi come il thin. Quindi, qualsiasi aiuto e dettagli su come creare progetti con maven-nar-plugin verrebbero esaminati! Graziecrea progetti C++ in Maven con plugin maven-nar

+1

Osservo il plug-in NAR ma ho finito per scrivere il mio per il progetto QtJambi. https://qt.gitorious.org/qt-jambi/qtjambi-community-maven/trees/master i build del progetto per Windows, Linux e MacOSX per Windows sono MSVC e MinGW e tutte le piattaforme sono sia a 32 bit che a 64 bit. Dovrai estrarlo dall'unico albero del git. –

risposta

2

Attualmente, il modo più sicuro per creare più binari della piattaforma con maven-nar-plug è di farlo effettivamente su piattaforme diverse, piuttosto che tentare una soluzione basata su una compilazione incrociata.

Ad esempio, il progetto ImageJ utilizza il plugin maven-nar per creare un small native launcher per Linux, OS X e Windows, versioni a 32 e 64 bit.

Per realizzare questo, il progetto ha un CIS Jenkins su un server Linux, un VM Windows 7 a 64 bit in VirtualBox con uno slave Jenkins e uno slave Jenkins desktop OS X, ognuno dei quali esegue il build Maven per il suo rispettive piattaforme.

È stato abbastanza complicato da configurare; ci sono istruzioni dettagliate in this ticket of the ImageJ issue tracker.

Su una nota correlata, un gruppo di sviluppatori interessati ha recentemente resuscitato maven-nar-plugin, migrando il repository ufficiale a new maven-nar organization. Uno degli elementi di interesse è la cross-compilation, che renderebbe più semplice la creazione di binari nativi per più AOL sulla stessa piattaforma senza ricorrere agli schiavi di Jenkins. Ma ci sono molte sfide (ad es., GCC modifica il comportamento spesso) e non è ancora facile da fare. Invitiamo gli sviluppatori interessati a partecipare alla discussione sul nuovo maven-nar-plugin mailing list!

+0

Il tuo link per il launcher è rotto, esiste ancora? –

+1

Mi dispiace Paul, ho aggiornato il link alla sua posizione attuale. – ctrueden