所以我刚刚从here(显然是GCC 4.7)下载了mingw-w64-bin_i686-mingw_20110410.zip
,并发现它有一个非常新版本的GCJ编译器。
我尝试使用它,但显然 gcj 需要 ecj1.exe ,它是Java的Eclipse编译器...所以,我在哪里找到兼容的版本ECJ的二进制文件和所需的相关Java库(libgcj等)?
理想情况下,这可以在MinGW-w64项目页面上找到,但它似乎不存在。
(我已经尝试从较旧的GCC版本中复制它们; 它不起作用。)
答案 0 :(得分:2)
gcc的openSUSE版本的原因基本上是这样的: 如果编译gcc的configure步骤没有找到ecj.jar 文件,ecj1将在gcj刚刚建立的时候丢失 叫做。 ecj.jar可以从ftp://sourceware.org/pub/java/ecj-4.8.jar获取 例如。
这两个选项是:
i)将ecj.jar放在$ HOME / share / java / ecj.jar中,重新配置gcc ./configure .... --with-ecj-jar = $ HOME / java / ecj.jar 并重新编译gcc。未来与gcc的汇编不需要 ecj1。
ii)将ecj.jar放入$ HOME / share / java / ecj.jar并创建ecj1(.exe) 通过编译之类的 gcj -o $ HOME / bin / ecj1(.exe) - main = org.eclipse.jdt.internal.compiler.batch.GCCMain $ HOME / share / java / ecj.jar 假设$ HOME / bin在后续调用gcj的PATH中。
实际上“破坏”的事实是gcc 4.8。*未发货 默认情况下,ecj.jar位于某个标准位置。
答案 1 :(得分:0)
这是MinGW-w64工具链的一个非常旧版本。
我建议下载我的一个版本,我有gcj工作的报告(没有libgcj,这在Windows上不起作用),虽然我似乎无法找到我很久以前的讨论链接一个用户。用户的情况与创建JNI接口或其他东西有关,不需要libgcj。
我的旧版本可以找到here for 32-bit和here for 64-bit。我查看了4.8版本的构建,它包含了gcj编译器。
答案 2 :(得分:-1)