5

线程“主”java.lang.UnsatisfiedLinkError 中的异常:java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) 处 java.lang.Runtime.loadLibrary0(Runtime.java: 845) 在 java.lang.System.loadLibrary(System.java:1084) 在 com.jogamp.gluegen.runtime.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:102) 在 com.jogamp.gluegen.runtime.NativeLibLoader.access$000( NativeLibLoader.java:51) at com.jogamp.gluegen.runtime.NativeLibLoader$1.run(NativeLibLoader.java:70) at java.security.AccessController.doPrivileged(Native Method) at com.jogamp.gluegen.runtime.NativeLibLoader.loadGlueGenRT (NativeLibLoader.java:68) 在 com.jogamp.common.jvm.JVMUtil.(JVMUtil.java:56) 在 javax.media.opengl.GLProfile.(GLProfile.java:1051) 在 HelloWorld.main(HelloWorld.java: 14)

所以每次我尝试运行一个教程 JOGL 文件时,我都会得到这个可爱的异常。我已经拼命尝试了我能做的一切。为 jogl 和 gluegen 添加所有可能的库,包括:

jogl.jar jogl.all.jar jogl natives gluegen natives gluegen 和 jogle natives for macosx

一切,它说没有gluegen库,尽管显然有。-.- 我在某处阅读了有关 jnilib 文件的信息,并尝试将它们放入包含 jar 文件的文件夹中,但仍然没有运气。

顺便说一句,我正在使用 Eclipse。

4

1 回答 1

0

当操作系统尝试运行应用程序时,必须告诉操作系统在哪里可以找到gluegen-rt 本机库,您可以通过在Eclipse 中编辑“运行配置”来设置适当的环境变量来做到这一点。我在 Linux 上开发,对我来说,步骤是

  • 右键单击项目资源管理器中的主类
  • 选择运行方式-> 运行配置...
  • 选择环境选项卡
  • 点击“新建...”
  • 输入名称:LD_LIBRARY_PATH和值:/usr/lib64/jogl:/usr/lib64/gluegen
  • 单击“确定”、“应用”、“运行”

在 Mac OSX 上,您可能必须使用DYLD_FALLBACK_LIBRARY_PATHorDYLD_LIBRARY_PATH代替LD_LIBRARY_PATH,并且 JOGL 和 Gluegen 库的位置会有所不同。这些是包含本机库的目录,名称以.soLinux 结尾,我相信.jnilib在 Mac OSX 上。

于 2013-02-13T10:52:07.393 回答