Anzeige:
Ergebnis 1 bis 15 von 15

Thema: gcj Java-compiler funzt ned

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.08.2001
    Beiträge
    79

    gcj Java-compiler funzt ned

    Hallo!

    Ich hab mir jetzt gcc 3.2 runtergeladen um gcj benutzen zu können und mit einem g++ 2.9*** kompiliert.

    Dann hab ich meinen gcj an nem einfachen Java-Programm ausprobiert und folgende Meldung gekriegt:

    /usr/lib/crt1.o: In function `_start':
    /usr/lib/crt1.o(.text+0x18): undefined reference to `main'
    collect2: ld returned 1 exit status

    Was ist das nun für ein Problem? Kann es sein, dass die crt1.o nicht binärkompatibel zu dem neuen gcc 3.2 ist und deshalb der Fehler auftritt?

    Hab ich zumindest angenommen, mir gleich die neueste glibc2.2.5 runtergeladen, hab aber irgendwie Probleme beim Kompilieren.

    Jetzt würde ich von euch gerne wissen, bevor ich mit glibc weiterwurschtle, ob das überhaupt mein Problem ist, oder ob gcj möglicherweise aus einem anderen Grund nicht funktioniert.

    MfG Xare

  2. #2
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Mainklasse bekanntgeben.

    Hi,

    Hast du denn die Main-Klasse spezifiziert?

    gcj java1.java java2.java main.java -o Programm --main=main

    Wie du bei dem Parameter main genau sehen kannst, musst du ihm einfach die Hauptlasse angeben.

    Wars das?

    Mfg
    Geändert von Lin728 (19-08-2017 um 15:35 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.08.2001
    Beiträge
    79
    Hi!

    Das wars, danke für die Hilfe!

    Aber warum merkt das denn der gcj nicht von selbst? Kann der javac doch auch. Vor allem, wenn es nur eine Klasse/Datei ist.

    MfG Xare

  4. #4
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Java ist das egal...

    Hi,

    Du sagst ja: java hauptklasse

    Damit sagst du ja praktisch, dass das die Hauptklasse ist, und wenn keine main-methode drinnen ist, beschwert er sich.

    Natürlich könnte man sagen, dass auch automatsch der gcj machen könnte, aber die java-spezification sieht vor, dass es mehrere main-methoden geben darf. Also gehts dann doch nicht ;-)

    Mfg
    Geändert von Lin728 (19-08-2017 um 15:36 Uhr)

  5. #5
    Registrierter Benutzer Avatar von wisi
    Registriert seit
    03.12.2002
    Beiträge
    38

    Re: Mainklasse bekanntgeben.

    hallo!


    Original geschrieben von ceisserer
    gcj java1.java java2.java main.java -o Programm --main=main
    das funktioniert bei mir nicht! ich erhalte folgende fehlermeldung:
    GCJ.EXE: installation problem, cannot exec 'as': No such file or directory

    Was stimmt da nicht?

    MFG
    Wisi

  6. #6
    Registrierter Benutzer
    Registriert seit
    10.04.2001
    Ort
    Bremen
    Beiträge
    339
    @wisi:
    Dir fehlt das Programm 'as'... Installiere bitte das Paket binutils nach.

    c ya,
    Tobias

  7. #7
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    aber die java-spezification sieht vor, dass es mehrere main-methoden geben darf. Also gehts dann doch nocht ;-)
    was so auch Sinn macht, kann man doch damit jeweils Klassenspezifische Testroutinen in jeder Klasse in die main - Methode schreiben und auch dort belassen. So kann man nach jeder Änderung schnell schauen, ob die Klasse noch so reagiert wie vorgesehen.

    der Grund wieso du die Hauptklasse angeben musst, liegt darin, dass du mit GCJ das ganze zu einer Datei linken kannst, und dann ist natürlich eine Hauptklasse nötig (genau wie bei den Jar - Files auch)

    MfG Peschmä
    Geändert von peschmae (06-12-2002 um 15:07 Uhr)
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  8. #8
    Registrierter Benutzer Avatar von wisi
    Registriert seit
    03.12.2002
    Beiträge
    38
    Original geschrieben von tkortkamp
    @wisi:
    Dir fehlt das Programm 'as'... Installiere bitte das Paket binutils nach.
    So, jetzt habe ich alles, ich habe einfach noch einmal das ganze MinGW + GCJ runtergeladen und kann auch EXE-Dateien erstellen, aber wenn ich die Datei ausführe kommt der Fehler:
    returned
    end
    Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit

    Was tun?

  9. #9
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    kein AWT!

    GCJ unterstützt noch kein AWT.

    Mfg
    Geändert von Lin728 (19-08-2017 um 15:36 Uhr)

  10. #10
    Registrierter Benutzer Avatar von wisi
    Registriert seit
    03.12.2002
    Beiträge
    38

    Re: kein AWT!

    Original geschrieben von ceisserer
    GCJ unterstützt noch kein AWT.
    Sch*****!!!
    So viel Zeit umsonst verschwendet. Da kann ich ja gleich mit C++ programmieren.

  11. #11
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Hmmm?

    Hi!

    Nun, es gibt Bindings im Alpha-stadium, so kann man AWT nachrüsten.
    GCJ kann derzeit nur Java-GTK/GNOME/SWT/Java-QT/KDE.



    Mfg
    Geändert von Lin728 (19-08-2017 um 15:36 Uhr)

  12. #12
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    Windows???

    Nun, hab jetzt erst gemerkt, dass du windows nimmst: Vergiss den GCJ, der läuft nur auf ordentlichen systemen gut.
    Unter windows kannste es vergesen, da kann der nicht mal dynamisch linken ;-)

    Mfg
    Geändert von Lin728 (19-08-2017 um 15:36 Uhr)

  13. #13
    Registrierter Benutzer Avatar von wisi
    Registriert seit
    03.12.2002
    Beiträge
    38
    Gibt's vielleicht einen anderen JavaNative-Compiler ausser den folgenden, der AWT unterstützt? (die sind entweder zu groß, gehen nicht zum Download oder sind zu langsam (z.B. JET)):

    - Excelsior JET
    - GCJ (in Cygwin/MinGW)
    - TowerJ
    - VisualAge
    - JOVE
    - Manta

    MFG
    Wisi

  14. #14
    Registrierter Benutzer
    Registriert seit
    16.09.2001
    Beiträge
    1.182

    JET langsam?

    JET ist dir zu langsam?
    JET ist sogar schneller als der gcj!

    Mfg
    Geändert von Lin728 (19-08-2017 um 15:37 Uhr)

  15. #15
    Registrierter Benutzer Avatar von wisi
    Registriert seit
    03.12.2002
    Beiträge
    38

    Re: JET ist langsam???!!!!

    Original geschrieben von ceisserer
    Was?

    JET ist dir zu langsam?
    Die executables sind wohl das schnellste was ich je gesehen habe, JET ist sogar schneller als der gcj!

    Mfg Linuxhippy
    Mag wohl sein, das JET schnell ist, aber auf meinem Schrott-Computer würde es drei Tage lang dauern, bis die ganzen Klassen kompiliert sind.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •