2013-02-13 24 views
5

Eccezione nel thread "main" java.lang.UnsatisfiedLinkError: no gluegen-rt in java.library.path in java.lang.ClassLoader.loadLibrary (ClassLoader.java:1860) in java.lang.Runtime.loadLibrary0 (Runtime.java:845) in java.lang.System.loadLibrary (System.java:1084) in com.jogamp.gluegen.runtime.NativeLibLoader .loadLibraryInternal (NativeLibLoader.java:102) in com.jogamp.gluegen.runtime.NativeLibLoader.access $ 000 (NativeLibLoader.java:51) in com.jogamp.gluegen.runtime.NativeLibLoader $ 1.run (NativeLibLoader.java:70 in java.security.AccessController.doPrivileged (metodo nativo) in com.jogamp.gluegen.runtime.Nat iveLibLoader.loadGlueGenRT (NativeLibLoader.java:68) a com.jogamp.common.jvm.JVMUtil. (JVMUtil.java:56) a javax.media.opengl.GLProfile. (GLProfile.java:1051) a HelloWorld. main (HelloWorld.java:14)Eccezione JOGL - Impossibile trovare il gluegen- in java.library.path

Quindi ottengo questa deliziosa eccezione ogni volta che tento di eseguire un file JOGL tutorial. Ho provato disperatamente tutto ciò che potevo. L'aggiunta di tutti i possibili librerie per JOGL e gluegen tra cui:

jogl.jar jogl.all.jar JOGL nativi gluegen nativi gluegen e nativi jogle per MacOSX

Tutto, e si dice che non c'è gluegen biblioteca anche se ovviamente lo è. -.- Ho letto da qualche parte sui file jnilib e ho provato a inserirli nelle cartelle con i file jar, ma ancora senza fortuna.

Sto utilizzando Eclipse, a proposito.

+0

Spiacente, ma mettendo i JAR contenenti le librerie native nella stessa directory rispetto ai JAR contenenti le librerie Java sia per JOGL che per GlueGen funziona molto bene, ho testato anche su Mac OS X 10.6.8. Tuttavia, hai bisogno di gluegen-rt JARs, non gluegen, forse hai fatto questo errore. – gouessej

risposta

-1

Al sistema operativo deve essere comunicato dove trovare la libreria nativa gluegen-rt quando tenta di eseguire l'applicazione, che è possibile modificare modificando la "configurazione di esecuzione" in Eclipse per impostare la variabile di ambiente appropriata. I sviluppare su Linux, e per me i passaggi sono

  • tasto destro del mouse sulla classe principale nel progetto di esplorazione
  • selezionare Esegui come -> Configurazioni Esegui ...
  • selezionare la scheda Ambiente
  • click "Nuovo ..."
  • inserire il nome: LD_LIBRARY_PATH e valore: /usr/lib64/jogl:/usr/lib64/gluegen
  • fare clic su "OK", "Applica", "Esegui"

Su Mac OSX sarà probabilmente necessario utilizzare DYLD_FALLBACK_LIBRARY_PATH o DYLD_LIBRARY_PATH anziché LD_LIBRARY_PATH e la posizione delle librerie JOGL e Gluegen sarà diversa. Queste sono le directory contenenti le librerie native, con nomi che terminano con .so su Linux e credo che sia .jnilib su Mac OSX.

+0

Questa non è la migliore pratica con JOGL 2: http://stackoverflow.com/a/25136112/458157 Piuttosto, mettere i JAR contenenti le librerie native nella stessa directory dei JAR contenenti le librerie Java e funzionerà senza per modificare il percorso della libreria che è molto meno soggetto a errori soprattutto per i principianti. – gouessej

Problemi correlati