我正在开发一个 Java 应用程序,它使用带有 JNI
的本地代码,所以我使用 Eclipse 和 CDT 插件
开发了一个 C 共享库
> 在 Linux Redhat 上。一切正常,因为我可以毫无问题地启动我的 Java 应用程序并调用 native 方法。但我的问题是,我需要在每个平台上编译我的代码(Linux、Windows、x86/x64)
。获取 libXXX.so
文件不是问题,但我还需要一个 .dll
才能在 Windows 上运行,除非我不能只在上面编译我的代码,我需要一种在 Linux 上使用 Eclipse 本地执行此操作的方法。因此,我正在寻找一些简单的解决方案,以使用交叉编译在 Eclipse 本地执行此操作。
我做了一些研究,但我找不到真正的教程来解释如何做到这一点,每次人们都说要在指定的平台上编译。因此,如果有人可以帮助我解决这个问题,那就太好了。
我的配置是:Linux RedHat、Eclipse Juno、CDT 插件 8.1
最佳答案
您需要一个 Linux -> Windows 交叉编译器。 MinGW工具可以完成这项工作,但我最后检查了一下,它们只提供二进制下载以在 Windows 上运行(即不是交叉编译器)。有一些(旧的)说明用于构建您自己的 here .
CodeBench编译器可能正是您想要的,但它不是免费的(虽然有免费试用版)。它基本上是 MinGW 工具的专业构建,并带有它自己定制的 Eclipse,因此该部门不需要摆弄任何东西。
快速谷歌一下也可以得到 these tools on sourceforge ,但我还没有尝试过。
关于使用 Eclipse 对 C 应用程序进行交叉编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17695088/