1

所以我刚从这里下载mingw-w64-bin_i686-mingw_20110410.zip显然是 GCC 4.7),发现它有一个最新版本的 GCJ 编译器。

我尝试使用它,但显然gcj需要ecj1.exe,这是 Java 的 Eclipse 编译器......所以,我在哪里可以找到兼容版本的 ECJ 二进制文件和所需的相关 Java 库(libgcj 等)。 )?

理想情况下,这可以在 MinGW-w64 项目页面上找到,但它似乎不存在。

(我已经尝试从稍旧的 GCC 版本复制它们;它不起作用。)

4

3 回答 3

2

造成openSUSE版本gcc的原因基本是这样的:如果gcc编译的configure步骤没有找到ecj.jar文件,那么在调用刚刚构建好的gcj的时候就会缺少ecj1。例如,ecj.jar 可以取自ftp://sourceware.org/pub/java/ecj-4.8.jar

这两个选项是:

i) 将 ecj.jar 放入 $HOME/share/java/ecj.jar,用 ./configure .... --with-ecj-jar=$HOME/java/ecj.jar 重新配置 gcc 并重新编译 gcc。使用该 gcc 的未来编译将不需要 ecj1 。

ii) 将 ecj.jar 放入 $HOME/share/java/ecj.jar 并通过 gcj -o$HOME/bin/ecj1(.exe) --main=org.eclipse.jdt 之类的编译创建 ecj1(.exe) .internal.compiler.batch.GCCMain $HOME/share/java/ecj.jar 假设 $HOME/bin 在 PATH 中,以便后续调用 gcj。

此处实际上“损坏”的事实是 gcc 4.8.* 在某些标准位置默认不随 ecj.jar 一起提供。

于 2014-01-24T09:28:37.037 回答
0

那是 MinGW-w64 工具链的一个非常旧的版本。

我建议下载我的一个构建,我已经报告了 gcj 工作(没有 libgcj,它在 Windows 上不起作用),尽管我似乎无法找到我很久以前与用户讨论的链接。用户的情况跟创建JNI接口什么的有关,不需要libgcj。

我的旧版本可以在这里找到 32-bit64-bit。我检查了 4.8 版本构建,它包含 gcj 编译器。

于 2014-01-24T09:53:31.763 回答
-1

你会反对下载源代码并构建它吗?我查看了基本高级构建文档中的构建文档。我没有看到有关 GCJ 编译器或 ECJ 的任何信息,但您需要 gcc 4.5.1 才能构建它。

于 2011-04-20T06:38:50.347 回答