我试图使用glDrawArraysInstancedBaseInstance,但链接器抱怨__glewDrawArraysInstance未解析。
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
为了编译它,我将CMake用于make文件,并在CMakeLists.txt中:target_link_libraries(app GL GLU GLEW glfw)
事实证明,在安装glew-1.9.0
时,它正被安装到/usr/lib64
,这只是正在发生的两个问题之一。
其中一个问题是glew-1.7.0
安装在/usr/local/lib64
中,而我的应用程序使用的是这个版本的glew。
- 我通过做
find /usr -name libGLEW*
发现了这一点
二是CCD_ 8对CCD_ 9一无所知。
- 这是通过执行
ldconfig -p > report.txt
并查看ldconfig
正在查找的目录发现的。这很有帮助,因为我认为/usr/lib64
是一个"受信任"的目录,但事实并非如此
有了这些信息,glew-1.7.0
被删除,ldconfig
被更新,现在一切都按预期进行。