java - GCJ 创建重复的虚拟符号

标签 java gcc

我正在尝试使用 gcj 构建 java 应用程序,但出现以下错误。自从我使用 gcj 以来已经有一段时间了(大约一年),所以我可能忘记了一些不明显的东西,但我很确定我一直都是这样做的。

 multiple definition of `java resource .dummy'

gcj 版本在 Ubuntu 上是 4.4.1,在 cygwin/windows XP 上是 4.3.4,我正在构建它

  gcj --main=my.MainClass --classpath=my my/*java

任何人在没有安装早期版本的 gcj 的情况下看到这个或知道解决方法。如果这是这样做的方式,有没有人知道如何在 cygwin 上做到这一点,或者我是否必须构建它?

这是给出此错误的最小测试用例

public class A {
    public static void main(String[] args) {
        System.out.println(new B());
    }
}

public class B {
    public String toString() {
        return "Hello";
    }
}

gcj --main=A src/A.java src/B.java

最佳答案

针对此 42143 提出了 2 个错误和 43302

唯一报告的解决方案是编译为类文件,然后链接类文件。

以下不会产生错误:

gcj -I src -C src/A.java src/B.java
gcj -I src --main=A src/A.class src/B/class

关于java - GCJ 创建重复的虚拟符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2567230/

相关文章:

java - 如何从firebase中child的引用中获取key

c++:按值复制到函数参数在vs2012中产生两个对象

c++ - 使用 stdlibc++ 4.7 启用 C++11 时,出现 clang 错误,而 gcc 编译正常

c - 为什么这个应该随着循环逐渐增加的值会达到无返回点?

c - 为什么 GCC 只能在 int 大小是编译时常量时进行循环交换优化?

java - 合并两个文件而不创建另一个文件

java - 从哪里可以获得 Eclipse 的 ProGuard?

java - Java 文件中的错误 (Android)

java - 如何在 Android Studio 项目中添加 Kotlin 类?

c - 由于简单错误,lex 文件未编译