使用maven-nar-plugin在Maven中构建C++项目

5
有人使用maven-nar-plugin在不同平台上,使用不同的编译器构建C++代码吗?如果有,请给我更多关于此的信息。 我只是想知道如何使用maven为不同的平台构建NAR文件。我知道为了能够在特定平台上构建项目,您应该在该平台上运行构建,并使用该平台的特定编译器和链接器。但我的经验与Java项目和Maven相关,如您已经知道的那样,Java非常具有平台移植性,因此我以前没有遇到过这样的问题。 因此,任何有关如何使用maven-nar-plugin构建项目的帮助和详细信息将不胜感激! 谢谢

1
我看了一下NAR插件,但最终为QtJambi项目编写了自己的插件。https://qt.gitorious.org/qt-jambi/qtjambi-community-maven/trees/master 该项目可在Windows、Linux和MacOSX上构建,对于Windows,有MSVC和MinGW,所有平台都支持32位和64位。您需要从一个git树中提取它。 - Darryl Miles
1个回答

2

目前,使用maven-nar-plugin构建多平台二进制文件的最可靠方法是在不同平台上进行构建,而不是尝试基于交叉编译的解决方案。

例如,ImageJ项目使用maven-nar-plugin为Linux、OS X和Windows构建小型本地启动器,包括32位和64位版本。

为了实现这一点,该项目在Linux服务器上具有一个Jenkins CIS,在VirtualBox中具有一个Windows 7 64位VM,并配有一个Jenkins从属,以及一个OS X桌面Jenkins从属,每个从属都为其各自的平台执行Maven构建。

这是相当复杂的设置;在ImageJ问题跟踪器的此票中有详细的说明。

相关地,一群有兴趣的开发人员最近重新启用了maven-nar-plugin,并将官方存储库迁移到了新的maven-nar组织。其中一个感兴趣的项目是交叉编译,这将使得在同一平台上为多个AOL构建本机二进制文件变得更加容易,而无需诉诸于Jenkins从属。但是有许多挑战(例如,GCC的行为经常会发生变化),目前还不容易实现。我们邀请有兴趣的开发人员加入新的maven-nar-plugin邮件列表讨论!


您的启动器链接已经失效了,它还存在吗? - Paul Gregoire
1
抱歉,Paul,我已将链接更新到其当前位置。 - ctrueden

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接