5

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

4

1 回答 1

2

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

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

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

设置非常复杂;ImageJ issue tracker 的这张票中有详细说明。

在相关的说明中,一群感兴趣的开发人员最近复活了 maven-nar-plugin,将官方存储库迁移到了一个新的 maven-nar 组织。感兴趣的项目之一是交叉编译,这将使在同一平台上为多个 AOL 构建本机二进制文件变得更加容易,而无需求助于 Jenkins slaves。但是有很多挑战(例如,GCC 经常改变行为),而且还不容易做到。我们邀请有兴趣的开发者加入关于新的maven-nar-plugin 邮件列表的讨论!

于 2012-10-10T17:32:36.513 回答