IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

Problème avec LWJGL


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut Problème avec LWJGL
    Bonjour je poste ce message car je me suis décidé de me mettre a LWJGL et pour cela je suis des tutoriel mais malheureusement je n'arrive pas a le faire fonctionner a chaque fois il me mette l'erreur suivant

    Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at org.lwjgl.Sys$1.run(Sys.java:73)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
    at org.lwjgl.Sys.loadLibrary(Sys.java:95)
    at org.lwjgl.Sys.<clinit>(Sys.java:112)
    at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
    at AffichaBasique.main(AffichaBasique.java:10)

    j'ai chercher un peux partout d'ou pouvais venir l'erreur,mais même en rajoutent -Djava.library.path dans l'argument vm ça ne fonctionne toujours
    pas.
    Je suis sur mac et j'utilise éclipse.

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Il faut que les l'équivalent MAC des .so (unix) ou .dll(windows) se trouvent dans le dossier indiqué par java.library.path

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    le problème c'est que je ne trouve pas le java.library.path

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Tu peux le setter avec -Djava.library.path=/chemin/vers/dossier comme tu l'as précisé

    Sinon voici une classe utilitaire (Trouvée sur le net) qui permet de le faire de manière "programmée" en début de programme.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    public class LibUtil {
        private final static String JAVA_LIBRARY_PATH = "java.library.path";
     
        public static void addToJavaLibraryPath(String dir) {
            addToJavaLibraryPath(new File(dir));
        }
     
        public static void addToJavaLibraryPath(File dir) {
     
            if (!dir.isDirectory()) {
                throw new IllegalArgumentException(dir + " is not a directory.");
            }
            String javaLibraryPath = System.getProperty(JAVA_LIBRARY_PATH);
            System.setProperty(JAVA_LIBRARY_PATH, javaLibraryPath + File.pathSeparatorChar + dir.getAbsolutePath());
     
            resetJavaLibraryPath();
        }
     
        private static void resetJavaLibraryPath() {
            synchronized (Runtime.getRuntime()) {
                try {
                    Field field = ClassLoader.class.getDeclaredField("usr_paths");
                    field.setAccessible(true);
                    field.set(null, null);
     
                    field = ClassLoader.class.getDeclaredField("sys_paths");
                    field.setAccessible(true);
                    field.set(null, null);
                } catch (NoSuchFieldException e) {
                    throw new RuntimeException(e);
                } catch (IllegalAccessException e) {
                    throw new RuntimeException(e);
                }
            }
        }
    }

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    merci pour ce code mais je ne comprend pas très bien ce que je doit faire avec

  6. #6
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Tout simplement utiliser la méthode :

    public static void addToJavaLibraryPath(String dir)

    En passant en paramètre le dossier contenant tes libs.

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ou sous eclipse, il te faut créer une user library, y ajouter tes jars et pour chaque jar tu pourra préciser un dossier contenant les libs natives nécessaires.

    cf: http://www.eclipsezone.com/eclipse/forums/t49342.html

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Par défaut
    voila j'ai enfin trouver une solution ça ma pris du temps mais j'ai réussi.
    Voici la démarche pour ceux qui aurais le même problème sur mac os x,
    j'utilise éclipse mais la même démarche doit ce faire sur netbeans ou autre.

    Tout d'abord faite un nouveau projet puis sur JRE System library clic droit propreties de la vous sélectionné Alternate JRE, puis cliqué sur installer JREs...
    qui ce trouve a droite ensuite sélectionné la library et faite édit normalement dans le champ JRE home vous devriez avoir le chemin du dossier ou ce trouve votre jdk si c'est comme moi vous devriez avoir :
    /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
    il faudras le changer et indiqué le chemin de java qui se trouve dans le dossier System comme par exemple:
    /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    après cela faite finish .
    ensuite j'ai du indiqué mais lib native clic droit projet puis Run As→Run configuration, sélectionné votre Main puis l'onglet argument tout en bas dans Working directory sélectionné Other puis cliqué sur Workspace et sélectionné votre lib ou ce trouve les native.
    Voila en fessant ainsi j'ai résolu mon problème.

    Désolé si ce n'est pas très bien expliqué je suis pa très doué pour ça et merci encore pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec LWJGL
    Par guy_s dans le forum 3D
    Réponses: 4
    Dernier message: 14/05/2009, 18h30
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo