【问题标题】:cross compiling Java JNI libraries for Windows / RPi from OS X / Linux从 OS X / Linux 交叉编译适用于 Windows / RPi 的 Java JNI 库
【发布时间】:2013-08-18 15:40:24
【问题描述】:

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

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

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

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

【问题讨论】:

  • 为什么不在您的 OS X 机器上将 Linux/WIN32/其他任何虚拟机作为虚拟机,启用一些共享目录,然后在单个共享代码库的单个机器上执行所有“本地”操作?
  • 这就是我从 OS X 访问 Linux 的方式。我没有多余的许可证来为 Windows 做同样的事情。这令人筋疲力尽,甚至不是 ARM 的选择。一个 Maven 构建命令将大大简化我的构建。

标签: gcc fortran cross-compiling raspberry-pi


【解决方案1】:

我发现各种Linux交叉编译器都带有macports,形式为

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

使用 64 位 Windows 交叉编译 on its way

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

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

【讨论】:

  • 相信现在有一个常用的Win64的MinGW,在Ubuntu上,包是gcc-mingw-w64
猜你喜欢
  • 2012-08-06
  • 1970-01-01
  • 1970-01-01
  • 2010-12-19
  • 1970-01-01
  • 1970-01-01
  • 2015-11-25
  • 2016-12-08
相关资源
最近更新 更多