使用PyDev配置Jython、Processing和OpenGL
我正在尝试在MacOSX Snow Leopard上使用Eclipse/PyDev用Jython编写Processing应用程序。简单的草图运行得还不错,但当我尝试使用OpenGL的API时,应用程序崩溃并出现了这个错误:
Exception in thread "Animation Thread" java.lang.UnsatisfiedLinkError: no jogl in java.library.path
注意,这是一个运行时错误,不是构建错误。看起来JVM找不到jogl库,尽管我已经把它们添加到了项目设置中的外部库里。实际上,我添加了以下所有文件:
- core.jar
- jogl.jar
- gluegen-rt.jar
- opengl.jar
- libgluegen-rt.jnilib
- libjogl_awt.jnilib
- libjogl_cg.jnilib
- libjogl.jnilib
检查Python路径发现这些文件确实在Python路径上,但当我查看Java路径时,使用的是:
System.getProperty("java.library.path")
» » 我只看到这个 » »
/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
显然,这些库的链接出了问题。可能是什么原因呢?
更新: 我发现问题是这些.jar文件的本地库路径没有被添加到Java路径中。PyDev似乎不支持像标准的Eclipse Java项目设置那样设置链接的.jar文件的本地库路径。因此,作为解决办法,我通过运行配置中的VM参数添加了本地库的目录。
更新2: 我写了一篇关于环境配置的文章:http://bit.ly/yHjIw9
1 个回答
1
我也在推特上回复过,不过我觉得答案是要设置一个叫做 LD_LIBRARY_PATH 的环境变量,让它指向你存放本地库文件的文件夹。(补充一下:在 OSX 系统上,这个变量叫 DYLD_LIBRARY_PATH)