我正在尝试使用 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
为了编译这个我使用CMake作为make文件和CMakeLists.txt:
target_link_libraries(app GL GLU GLEW glfw)
答案 0 :(得分: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
已更新,现在一切正常。