【发布时间】:2013-12-17 10:48:23
【问题描述】:
我正在尝试使用顶点数组对象在 opengl 中渲染一个立方体。相同的代码适用于 linux 机器,但不适用于 Windows 机器。 使用 glGenVertexArrays 和 glBindVertexArray 时出现未解决的外部错误。
glewInfo.exe 报告 glGenVertexArrays 和 glBindVertexArray 可用:
GL_ARB_vertex_array_object: OK
---------------------------
glBindVertexArray: OK
glDeleteVertexArrays: OK
glGenVertexArrays: OK
glIsVertexArray: OK
【问题讨论】:
-
如何在代码中查询这些扩展?你使用加载器库吗?如果有,是哪一个?如果没有,你是怎么做到的?
-
就像我说的,上面的结果是glewinfo.exe的输出。我不需要验证这些扩展,因为代码直接在我的 linux 机器上运行。我还检查了 Windows 机器上的图形驱动程序是否已过时(nvidia gt350m)。也许这可能是问题所在? TBH,我没有太多时间来测试这个,因为 Windows 机器不是我的。但我会尝试从我的应用程序中检查扩展(这是一个 qt 应用程序)
-
顺便说一句,能不能像 glEnable(GL_ARB_vertex_array_object); ?我一拿到 Windows 机器就试试。
-
显然不是!但值得一试!
-
好吧。您使用
glewinfo二进制文件这一事实并不意味着您在代码库中也使用了glew。我只是想确定一下。如果您使用 glew 并得到那些未解决的链接器错误,则 lniking 有问题,并且没有运行时代码可以修复它。请注意,当您在 Windows 上使用 glew 作为静态库(或直接将 glew 源添加到您的代码中)时,您必须在包含glew.h之前#define GLEW_STATIC。