无法从Java中找到/加载OpenGL二进制文件



所以我想在OpenGL上试用jextract工具和Foreign Function and Memory API,但我在解决java.lang.UnsatisfiedLinkError: unresolved symbol: glutInit时遇到了问题。JVM似乎无法找到OpenGL库的二进制文件来链接该方法。我知道你用System.load方法加载库,但问题是我不知道我必须加载哪些二进制文件。jextract工具指向.h文件并按预期工作

`

System.load("/usr/lib/x86_64-linux-gnu/libOpenGL.so.0"); // loads fine but the error persists

try (var s = MemorySession.openConfined()) {
MemorySegment arc = s.allocate(ValueLayout.JAVA_INT, 0);
glutInit(arc, arc);
glutInitDisplayMode(GLUT_SINGLE());
glutInitWindowSize(400, 300);
glutInitWindowPosition(100, 100);
glutCreateWindow(s.allocateUtf8String("Hello World!"));
MemorySegment callBack = allocate(OpenGLLauncher::displayMe, s);
glutDisplayFunc(callBack);
glutMainLoop();
}

`

我认为我需要加载一个.so文件(我使用ubuntu(,所以我尝试在/usr/lib中手动定位.so文件,我尝试了很多,但都没有成功。我试着找了一下,但没有什么适合我的案子。以下是我尝试遵循的几件事:1.2

您似乎不需要知道确切的.so文件,但需要知道库名称

我用过:

System.loadLibrary("GLU"); System.loadLibrary("GL"); System.loadLibrary("glut");

它起到了的作用

您可以查看使用Panama为Java启用OpenGL的Panama GL项目。你可能可以在那里找到一些3D渲染和Panama配置的食谱(问题板提供了一种问答,跟踪以前的硬错误解决方案(。

最新更新