我想通过在 Linux Ubuntu 中使用来编译一个简单的 Java“Hello World”程序,就像GeeksforGeeks Hello World 教程中的那样。gcj
这是源代码:
class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello, World");
}
}
但是gcj
抛出了两个错误:
- (.text+0x18): 未定义的引用
main
- collect2:错误:ld 返回 1 个退出状态
终端的原始输出:
gcj -o helloworld HelloWorld.java
/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: error: ld returned 1 exit status
我会注意以下要求,即 .java 文件应以包含的类命名main
:
要点:
- 程序定义的类名是HelloWorld,与文件名(HelloWorld.java)相同。这不是巧合。在 Java 中,所有代码都必须位于一个类中,并且最多有一个包含 main() 方法的公共类。
- 按照惯例,主类(包含主方法的类)的名称应与保存程序的文件的名称相匹配。
我究竟做错了什么?