Partage
  • Partager sur Facebook
  • Partager sur Twitter

java.lang.UnsatisfiedLinkError: no lwjgl in java.library.pat

La, je sèche...

Sujet résolu
    6 janvier 2012 à 20:59:06

    Bonsoir à tous,

    J'ai programmé un jeu avec Slick sur un PC avec Windows 7, 64 bits. Et tout allait très bien !

    Aujourd’hui, j'ai voulu le reprendre. Je suis sur un nouveau pc mais toujours sous Windows 7, 64 bits mais je n'arrive plus à configurer éclipse (je suis passé de helios à indigo).

    J'ai bien ajouté les libs, j'ai bien ajouter les natives-libs pour 64 bits mais j'ai toujours cette foutue erreur...

    Quelqu'un a-t-il eu le même problème que moi et connait une solution ?

    D'avance merci !!!
    • Partager sur Facebook
    • Partager sur Twitter
    Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...
      6 janvier 2012 à 21:35:32

      J'avais, au lancement de Minecraft sous Eclipse, la même erreur :
      Il fallait rajouter un arguement pour la VM :
      -Djava.library.path=<path/to/library>
      • Partager sur Facebook
      • Partager sur Twitter
        6 janvier 2012 à 22:06:10

        Ben, j'essaye mais ça marche pas...

        Dans Run configuration, (x)= Argument, VM Argument, je mets ceci "-Djava.library.path=\..libs\lwjgl.jar" mais ça ne fonctionne pas... :(:(:(

        (le jar se trouve dans Workspace/MyProject/libs)
        • Partager sur Facebook
        • Partager sur Twitter
        Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...
        Anonyme
          6 janvier 2012 à 22:13:26

          c'est une dll qui manque, pas un jar.
          • Partager sur Facebook
          • Partager sur Twitter
            6 janvier 2012 à 22:59:59

            He bien même ceci :
            -Djava.library.path=../nativelibs/lwjgl64.dll

            ça ne fonctionne pas :( J'ai l'impression d'être maudit :colere:
            • Partager sur Facebook
            • Partager sur Twitter
            Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...
            Anonyme
              7 janvier 2012 à 10:53:55

              la jvm est en 64bits?
              • Partager sur Facebook
              • Partager sur Twitter
                7 janvier 2012 à 11:08:19

                Citation : shakhal

                la jvm est en 64bits?



                Excellente question... Désolé mais, comment on sait/change ça ?

                Edit : Et en cherchant, j'ai vu que je tout n'était pas installé au niveau de java... ça commence fort ! La commande java -version fonctionne mais pas javac. Bon, je vais ré-installer le jdk, les variables d'environnements, toussa. Mais la question reste d'actualité ;)

                EDIT 2

                Bon ben, j'ai reconfiguré le jdk (et j'ai bien vérifié à prendre le 64 bits), créé mes variables d'environnements, mais ça ne fonctionne toujours pas ! Si quelqu'un a une autre idée...

                Si je lance en console, voici le résultat:

                SimpleTest.java:3: error: package org.newdawn.slick does not exist
                import org.newdawn.slick.AppGameContainer;
                                        ^
                SimpleTest.java:4: error: package org.newdawn.slick does not exist
                import org.newdawn.slick.BasicGame;
                                        ^
                SimpleTest.java:5: error: package org.newdawn.slick does not exist
                import org.newdawn.slick.GameContainer;
                                        ^
                SimpleTest.java:6: error: package org.newdawn.slick does not exist
                import org.newdawn.slick.Graphics;
                                        ^
                SimpleTest.java:7: error: package org.newdawn.slick does not exist
                import org.newdawn.slick.SlickException;
                                        ^
                SimpleTest.java:9: error: cannot find symbol
                public class SimpleTest extends BasicGame {
                                                ^
                  symbol: class BasicGame
                SimpleTest.java:16: error: cannot find symbol
                                public void init(GameContainer container) throws SlickException
                {}
                                                 ^
                  symbol:   class GameContainer
                  location: class SimpleTest
                SimpleTest.java:16: error: cannot find symbol
                                public void init(GameContainer container) throws SlickException
                {}
                                                                                 ^
                  symbol:   class SlickException
                  location: class SimpleTest
                SimpleTest.java:19: error: cannot find symbol
                                public void update(GameContainer container, int delta) throws Sl
                ickException {}
                                                   ^
                  symbol:   class GameContainer
                  location: class SimpleTest
                SimpleTest.java:19: error: cannot find symbol
                                public void update(GameContainer container, int delta) throws Sl
                ickException {}
                                                                                              ^
                  symbol:   class SlickException
                  location: class SimpleTest
                SimpleTest.java:22: error: cannot find symbol
                                public void render(GameContainer container, Graphics g) throws S
                lickException {
                                                   ^
                  symbol:   class GameContainer
                  location: class SimpleTest
                SimpleTest.java:22: error: cannot find symbol
                                public void render(GameContainer container, Graphics g) throws S
                lickException {
                                                                            ^
                  symbol:   class Graphics
                  location: class SimpleTest
                SimpleTest.java:22: error: cannot find symbol
                                public void render(GameContainer container, Graphics g) throws S
                lickException {
                                                                                               ^
                
                  symbol:   class SlickException
                  location: class SimpleTest
                SimpleTest.java:15: error: method does not override or implement a method from a
                 supertype
                                @Override
                                ^
                SimpleTest.java:18: error: method does not override or implement a method from a
                 supertype
                                @Override
                                ^
                SimpleTest.java:21: error: method does not override or implement a method from a
                 supertype
                                @Override
                                ^
                SimpleTest.java:28: error: cannot find symbol
                                                AppGameContainer app = new AppGameContainer(new
                SimpleTest()); app.start();
                                                ^
                  symbol:   class AppGameContainer
                  location: class SimpleTest
                SimpleTest.java:28: error: cannot find symbol
                                                AppGameContainer app = new AppGameContainer(new
                SimpleTest()); app.start();
                                                                           ^
                  symbol:   class AppGameContainer
                  location: class SimpleTest
                SimpleTest.java:29: error: cannot find symbol
                                        } catch (SlickException e) {
                                                 ^
                  symbol:   class SlickException
                  location: class SimpleTest
                19 errors


                Et voici la classe utilisée :
                package test;
                
                import org.newdawn.slick.AppGameContainer;
                import org.newdawn.slick.BasicGame;
                import org.newdawn.slick.GameContainer;
                import org.newdawn.slick.Graphics;
                import org.newdawn.slick.SlickException;
                
                public class SimpleTest extends BasicGame {
                		
                		public SimpleTest() { 
                			super("SimpleTest");
                		}
                		
                		@Override
                		public void init(GameContainer container) throws SlickException {} 
                		
                		@Override
                		public void update(GameContainer container, int delta) throws SlickException {}
                		
                		@Override
                		public void render(GameContainer container, Graphics g) throws SlickException { 
                			g.drawString("Hello, Slick world!", 0, 100);
                		}
                		
                		public static void main(String[] args) {
                			try {
                				AppGameContainer app = new AppGameContainer(new SimpleTest()); app.start();
                			} catch (SlickException e) { 
                				e.printStackTrace();
                			}
                		} 
                }
                

                • Partager sur Facebook
                • Partager sur Twitter
                Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...
                  7 janvier 2012 à 19:12:11

                  As tu ajouter les bibliothèque à ton projet ?
                  Et un dossier lib contenant les .dll ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    8 janvier 2012 à 9:52:59

                    Oui oui, j'ai bien inclus les librairies et les dll. Voici une capture de mon projet et du run configuration :

                    Le projet. On voit bien que les deux bibliothèques sont dans les "Referenced Libraries"
                    Image utilisateur

                    Les références vers les dll :
                    Image utilisateur

                    Le Run config.
                    Image utilisateur
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...
                      8 janvier 2012 à 10:38:38

                      Si tu as mit les .jar dans "referenced libraries", tu n'as pas besoin de mettre des .jar dans "nativeslibs"
                      Mon projet ressemble à ça :
                      Image utilisateur
                      • Partager sur Facebook
                      • Partager sur Twitter
                        8 janvier 2012 à 10:52:59

                        Citation : Vinz243

                        Si tu as mit les .jar dans "referenced libraries", tu n'as pas besoin de mettre des .jar dans "nativeslibs"



                        Ce sont les .dll que j'ai mis dans nativeslibs :) La seule différence entre nos projets c'est que j'ai mis les .jar dans un dossier de mon projet. Lors de l'intégration, j'ai fait "add jar" plutôt que "add external jar". Cette configuration a la particularité que, lorsque tu distribues ton projets, les jars sont directement dedans les les gens ne doivent pas les re-télécharger.

                        Ce qui foire chez moi, c'est le lien entre lwljgl.jar et les .dll pour 64 bits.
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...
                        Anonyme
                          8 janvier 2012 à 10:57:39

                          essaie de faire un affichage, avec la System.getProperty des path de lib native.

                          tu peux aussi forcer le chargement avec System.loadLibrary(lib) ou Systel.load(fullpath + lib + ext) et voir si ça passe.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            8 janvier 2012 à 11:20:16

                            Ok alors... Je travaille depuis le début sous Eclipse IDE for Java EE Developers. Et c'est ça le problème...
                            Si j'essaye sous la version Eclipse IDE for Java Developers (pas orientée J2EE quoi...) ça fonctionne.

                            Ne me demandez pas pourquoi... C'est comme ça ! o_O

                            Et merci à tous ceux qui se sont penché sur le problème !!!
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...

                            java.lang.UnsatisfiedLinkError: no lwjgl in java.library.pat

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown