Partage

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 !!!
Lorsque l'on fait une recherche google, on tombe sur des forums qui nous disent de chercher sur google...

Vous êtes demandeur d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur web junior

Je postule
Formation
en ligne
Financée
à 100%
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>
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)
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.
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:
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?
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();
			}
		} 
}

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 ?
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
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
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.
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.
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 !!!
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