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

标签 c++ maven maven-nar-plugin

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

最佳答案

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

例如,ImageJ项目使用 maven-nar-plugin 构建一个 small native launcher适用于 Linux、OS X 和 Windows,32 位和 64 位版本。

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

设置非常复杂; this ticket of the ImageJ issue tracker里面有详细说明.

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

关于c++ - 使用 maven-nar-plugin 在 Maven 中构建 C++ 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11192422/

相关文章:

c++ - 从 MFC(c++) 应用程序启动的可执行 jar 中获取返回值

c++ - 从 C++ 缓冲区中提取 IP 地址(Linux 套接字)

java - 在查看导入列表后,如何确定要在 POM 中包含哪些 Maven Artifact ?

java - 在集成测试中使用 EntityManager/EMF 的替代生成器

Maven 缺少 Artifact com.sun.jndi.ldap。怎么了?

c++ - Maven NAR 插件 : DLL dependency not found on path

java - 如何从命令行运行 nar 文件?

c++ - 如何正确关闭 IOCP 服务器?

c++ - 对不同的函数使用不同的参数

java - 将 JNI 库添加到本地 Maven 存储库