3

我可以访问 64 位 OS X 环境,但我想大大减少为x86/ x86_64/ armv6Linux 和 32 / 64 位 Windows 发布本机库构建的过程。

如何从 OS X 交叉编译 JNI 代码(如果失败,从 64 位 Ubuntu Linux)?我必须安装哪些编译器(我正在使用macports),我可以从哪里安装我必须包含和链接的外部 JDK 环境?需要哪些特殊的编译器/链接器标志?

我正在使用maven-native-plugin,因此我可以轻松更改编译器、链接器和JDK_HOME每个目标。pom.xml每个目标平台我有一个模块(即)。

对于那些对细节感兴趣的人,该项目是netlib-java/native_ref

4

1 回答 1

2

我发现各种 Linux 交叉编译器以macports以下形式提供

  • arm-elf-gcc
  • i386-elf-gcc
  • x86_64-elf-gcc
  • i386-mingw32-gcc

与 64 位 Windows 交叉编译

不幸的是,出于我的目的,我还需要一个 Fortran 编译器,所以我现在在macports 邮件列表上寻求更多帮助

编辑:OS X 上的 fortran 交叉编译器(以及一般的 mingw)的当前状态是可悲的。目前最好的建议是在 VirtualBox 中运行一个 Linux 机器并从那里交叉编译所有目标。两个构建,不是最佳的,但比所有原生的都好。

于 2013-08-18T21:00:21.683 回答