Cygwin et Java

Résolu
Salut à tous,
Quelqu'un sait si on peut utiliser Cygwin pour compiler du Java?

Merçi

5 réponses

  1. Il me semble que oui tu peux effectivement le faire, et puis, si je me rappel bien sous Cygwin tu peux egalement faire des commandes dos, donc si t'as bien definit le java_home tu pourras faire ton "javac"...au pire...essaye ;-)
    1. Modérateur
      Je crois que oui, aussi.
      Je crois même que gcc est capable de compiler du java (si ma mémoire est bonne).
      1. OUi effectivement y-a un package sous gcc (gcc-java je crois) qui permet de compiler java avec le compilateur gcc, par contre vu que c'est développé independamment de Sun, le java "standard" n'est pas 100% implémenté (entre autre je crois que AWT n'est pas supporté à 100% et quant à Java 5...faut passer au SDK...)
    2. Merçi a tous,

      J'installe alors cygwin et j'essaye comme vous m'avez dit

      a plus
      1. Modérateur
        Utlise gcj

        exemple
        $ gcj --main=Motorcycle -o Motorcycle.exe Motorcycle.java
        root@osiris ~/src/java
        $ ./Motorcycle.exe
        Calling showAtts...
        This motorcycle is a yellow Yamaha RZ350
        The engine is off.
        $ uname -a
        CYGWIN_NT-5.1 osiris 1.5.19(0.150/4/2) 2006-01-20 13:28 i686 Cygwin
        

        man gcj and so on...
        1. Modérateur
          Tiens juste une question:

          gcj produit un EXE: C'est un exécutable natif ou bien ça contient du bytecode Java comme les .class ?
          1. Modérateur
            C'est un exécutable natif. Il faut évidemment disposer ses bibliothèques adéquates.
            Le même exemple sous Nunux
            johand@horus:~/src/java$ gcj-3.4 -o Motorcycle --main=Motorcycle Motorcycle.java
            johand@horus:~/src/java$ ldd Motorcycle
                    linux-gate.so.1 =>  (0xffffe000)
                    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4002c000)
                    libgcj.so.5 => /usr/lib/libgcj.so.5 (0x40037000)
                    libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x40b51000)
                    libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x40b76000)
                    libz.so.1 => /usr/lib/libz.so.1 (0x40b89000)
                    libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0x40b9d000)
                    libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x40ba2000)
                    /lib/ld-linux.so.2 (0x40000000)
            

            (quel est l'équivalent de ldd sous Cygwin , ou Win$ en général ?)
            Johan
          2. Modérateur
            Ah c'est sympa ça.
            Merci de l'info.