【问题标题】:glew does not fetch glDrawArraysInstancedBaseInstanceglew 不获取 glDrawArraysInstancedBaseInstance
【发布时间】:2013-07-16 15:23:46
【问题描述】:

我正在尝试使用 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)

【问题讨论】:

  • 您使用的是什么编译器,您能否编辑您的问题以包含完整的编译器命令行调用(类似于g++ foo.cpp ...
  • 此外,根据此错误消息,您似乎正在尝试在您想要的位置调用 glewDrawArraysInstancedBaseInstance glDrawArraysInstancedBaseInstance
  • 我打电话给glDrawArraysInstancedBaseInstance,但链接器报告__glewDrawArraysInstancedBaseInstance
  • 其他扩展功能有用吗?
  • opengl 3.2 及以下的所有扩展。

标签: opengl glew opengl-4


【解决方案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 已更新,现在一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多