2

我正在尝试使用glDrawArraysInstancedBaseInstance但链接器抱怨 __glewDrawArraysInstancedBaseInstance 未解决。

glew-1.9.0 安装在机器上,据我所知它应该链接它。

作为临时工作,我只是自己获取函数,它有效。但这并不能帮助我理解为什么 glew 似乎不适用于该功能。

实际上,glew 似乎不适用于任何 opengl 3.3+

为了验证该功能应该可用,我使用glfwExtensionSupported("GL_ARB_base_instance").

需要明确的是,这是 GLFW 功能,而不是 GLEW 的扩展检查器。

我正在使用 glfw 创建我的窗口和 4.3 核心配置文件上下文

我的系统:
NVidia gtx 550 ti,带有最新的驱动程序
Ubuntu 12.04

为了编译这个,我在 make 文件和 CMakeLists.txt 中使用 CMake:
target_link_libraries(app GL GLU GLEW glfw)

4

1 回答 1

1

事实证明,在安装时glew-1.9.0,它被安装到/usr/lib64,这只是发生的两个问题之一。

其中一个问题是glew-1.7.0安装在 中/usr/local/lib64,而我的应用程序使用的是这个版本的 glew。

  • 我通过这样做找到了这个find /usr -name libGLEW*

而另一个是ldconfig不知道的/usr/lib64

  • 这是通过执行ldconfig -p > report.txt并查看正在查找的目录而发现的ldconfig。结果证明这很有帮助,因为我认为/usr/lib64这是一个“受信任的”目录,但事实并非如此。

使用此信息glew-1.7.0已删除,ldconfig已更新,现在一切都按预期工作。

于 2013-07-17T19:40:13.070 回答