1

我需要在 linux 系统上动态加载 openGL 函数。问题是,当我尝试创建 gl 上下文时 glXCreateContextAttribsARB 失败并且程序回退到使用 OGL 1.4。它应该在 OGL 4.4 上。如果我只是使用共享库并进行常规链接,则代码可以完美运行。因此,使用我没有看到的动态加载的库存在一些问题。这些函数正在使用 dlopen/dlsym 加载,并且没有报告错误。我尝试使用 glxGetProcAddressARB 加载 glXCreateContextAttribsARB ,但没有任何区别。我难住了。有什么建议么?

Ubuntu 12.04LTS/GLX 1.4/OGL 4.4/Nvidia 331.62

4

1 回答 1

1

我发现了问题。由于某种原因,代码试图使用不兼容的视觉效果(24 位 FB 而不是 32 位)。我使 glxChooseVisual 的属性列表更符合我的要求。为什么这以某种方式与共享库而不是动态库一起工作是一个谜。

于 2014-08-12T04:11:48.380 回答