使用 Eclipse 对 C 应用程序进行交叉编译

标签 c linux eclipse eclipse-cdt cross-compiling

我正在开发一个 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/

相关文章:

java - Eclipse 调试在我的断点处挂起并且该行未突出显示

用指定字符切割C中的字符串

c - 多维数组的内存分配问题

c - GDB 符号丢失 - libc 声称是错误的库或版本不匹配

linux - 在 linux shell 命令中替换输出文件扩展名

java - 无法将 Google Plugin for Eclipse 添加到 Eclipse for Java EE 开发人员(Helios 版)?

c - 通过 mmap 配置焊盘

c - 无符号整数的大小为 8

python - 不间断 sleep 是否是导致我的 Python 程序运行缓慢的原因(如果是,我该如何解决?)?

c++ - 如何让 eclipse CDT 忽略错误?