JOGL是如何查找OpenGL库的?

4
我正在使用JOGL编写桌面应用程序,并在Win/Mac/Linux上部署。在Linux上,我们发现安装的OpenGL库并不总是胜任工作,因此我们需要能够切换到我们自己的软件仿真OpenGL。自然地,我们希望将我们的库放置在 /usr/lib 之后或之前,以支持我们自己的库或默认库。
结果证明,JOGL优先选择我们的库。有人知道JOGL库是否会进行特殊处理,查找libGL等库,优先选择较新版本而非较旧版本吗?欢迎提供任何信息。
1个回答

3

我假设JOGL的Java端使用JNI(Java Native Interface)与本地库进行交互。JNI使用Java系统变量java.library.path来查找本地库。您可以在运行Java应用程序时使用-D开关在命令行上设置它:

java -Djava.library.path=/some/path mypackage.MyProgram

可能是本地系统没有正确识别OpenGL库。在Linux上,您可以设置环境变量LD_LIBRARY_PATH来指定Linux应该查找共享库的位置。 此页面更详细地解释了此问题(请参见第3.3.1节)。
请注意,您可以在JOGL主页上获取JOGL的源代码,因此如果您真的想知道,可以下载并开始深入研究。
(为什么有一个愚蠢的限制“新用户只能发布一个超链接”???)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接