2013-10-13 21 views
19

Nota questo è diverso da this question perché non si occupa del collegamento perché non chiede come collegarlo tramite la CLI, ma la GUI in Eclipse .Ottenere 'java.lang.UnsatisfiedLinkError': no ​​lwjgl in java.library.path

Ho cercato di scrivere un programma semplice utilizzando LWJGL. Quando aggiungo la libreria ad Eclipse (Kepler 4.3.1 su Windows 7 64bit) e scrivo un programma, non mostra gli squigglie rossi sotto le cose che usano LWJGL. Tuttavia, cercando di farlo funzionare mi dà il seguente stacktrace:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path 
    at java.lang.ClassLoader.loadLibrary(Unknown Source) 
    at java.lang.Runtime.loadLibrary0(Unknown Source) 
    at java.lang.System.loadLibrary(Unknown Source) 
    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 DisplayExample.start(DisplayExample.java:8) 
    at DisplayExample.main(DisplayExample.java:23) 

(Sì, questo è l'esempio che danno prima, ma volevo eseguirlo per assicurarsi che tutto è stato installled correttamente)

La mia domanda è, come posso risolvere questo errore? Si noti che, anche quando è in esecuzione in Eclipse, non riesce ancora. Se eseguo qualcos'altro che non usa LWJGL, funziona anche lui. L'ho appena scaricato da internet - aveva solo una versione, quindi presumo fosse quella giusta. Da quello che vedo, nessuna delle altre domande ha lo stesso errore di me - ma se potessi indicarmi domande informative sarebbe utile anche.

+0

presumo avete guardato questo [SO Domanda] (http://stackoverflow.com/questions/6588799/when-i-run-the-jar-i- get-a-no-lwjgl-in-java-library-path-errore?RQ = 1)? –

+0

@ S.R.I L'ho capito da solo pochi istanti fa ... Mi sento abbastanza stupido per non aver guardato il tutorial. Grazie, anche se –

+0

Nessun problema, abbiamo tutti i nostri momenti stupidi. :-) –

risposta

31

Non hai i nativi impostati nella tua applicazione LWJGL.

Ecco come si fa:

  1. Vai alla cartella LWJGL che contiene le cartelle denominate "jar", "res", "doc", e "nativo". Devi andare in Eclipse (supponendo che tu usi eclipse), apri il tuo progetto in Project Explorer sul lato sinistro dello schermo.
  2. Fare clic con il tasto destro del mouse sulla "Libreria di sistema JRE" del progetto, quindi fare clic su "Crea percorso" -> "Configura percorso di creazione".
  3. Includere le librerie native LWJGL nel progetto nel Configuratore del percorso di generazione facendo clic sul "Percorso di libreria nativo" che può essere visualizzato nel menu a discesa Libreria di sistema JRE.
  4. Fare clic su "Modifica ...", che sarà l'unico pulsante selezionabile in quell'area generale.
  5. Apparirà un file explorer. Passare alla posizione della cartella nativa LWJGL (La posizione dovrebbe essere qualcosa come "C: \ Users \ YOURUSERNAMEHERE \ Desktop \ Java \ eclipse \ lwjgl-2.9.0 \ native" se si utilizza Windows) e includere la cartella denominata [ Il tuo sistema operativo qui

Spero che questo ha aiutato :)

+3

Accettare la tua risposta invece della mia perché la tua è più informativa. –

+0

Questo ha risolto il problema per me. Stavo cercando di compilare Minecraft da Eclipse. - Aveva la sua libreria/nativo lwjgl inclusa, ma non funzionava - sembra che non avesse le DLL DirectX. - Ho appena scaricato l'ultimo e lo ho decompresso nel mio 'c: \ Programmi \ java \ jre7 \ lib \ lwjgl-2.9.1' e ho seguito le istruzioni di cui sopra, e ha funzionato benissimo. Grazie! – BrainSlugs83

+0

Per gli utenti IntelliJ, fare clic con il tasto destro del mouse su "lwjgl.jar" in "Librerie esterne", fare clic su "Apri impostazioni libreria" -> "Moduli". Seleziona "lwjgl.jar", fai clic sul pulsante "Modifica" nel riquadro di destra [sembra una matita]. Fare clic sul pulsante "Aggiungi" nella nuova finestra e selezionare il pacchetto per il proprio sistema operativo nella cartella/cartella "nativa" della posizione di installazione "lwjgl" (ad esempio /native/windows/lwjgl.dll). – scottyseus

4

Stavo seguendo il tutorial here, e sembra che non ho fatto il Aggiunta dei nativi passaggio, o l'ho fatto in modo non corretto.

seguire le istruzioni in quel link e il problema dovrebbe essere risolto:

Questo viene fatto clic sulla piccola freccia accanto al file lwjgl.jar per mostrare l'elenco a discesa. Fare doppio clic su "Native library location" e selezionare la cartella che contiene i file nativi per il proprio sistema operativo e fare clic su OK. Questi si trovano nella cartella natives inclusi nel bundle di download di LWJGL (es. In Windows si punta alla cartella natives \ windows che contiene i file * .dll, In Mac si punta alla cartella natives/macosx e su Linux indicheresti la cartella natives/linux).

Problemi correlati