GCJ lanza de error: "Referencia a Indefinido principal" al compilar

RobertS apoya Mónica Cellio:

Me quería para compilar un programa simple de Java "Hello World", como se repesented en el GeeksforGeeks Hola Tutorial Mundial , mediante el uso gcjde Linux Ubuntu. Este es el código fuente:

class HelloWorld 
{ 
    public static void main(String args[]) 
    { 
        System.out.println("Hello, World"); 
    } 
} 

Pero gcjlanzó dos errores:

  1. (.Text + 0x18): referencia indefinida a main
  2. collect2: Error: ld devolvió el código de salida 1

salida original desde el terminal:

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

Me tome la atención en el requisito de que el archivo .java debe ser el nombre de la clase que posee main:

Puntos importantes :

  • El nombre de la clase definida por el programa es HelloWorld, que es igual que el nombre del archivo (HelloWorld.java). Esto no es una coincidencia. En Java, todos los códigos deben residir dentro de una clase y no es a lo sumo una clase pública que contiene el método main ().
  • Por convención, el nombre de la clase principal (clase que contiene el método principal) debe coincidir con el nombre del archivo que contiene el programa.

¿Qué estoy haciendo mal?

Elliott fresca:

Se echa en falta la --main=opción, de la documentación , esta opción se usa cuando se enlaza a especificar el nombre de la clase cuyo método main debe ser invocado cuando se ejecuta el ejecutable resultante.

gcj -o helloworld --main=HelloWorld HelloWorld.java

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=362845&siteId=1
Recomendado
Clasificación