glew未定义的OpenGL函数[关闭]

Posted

技术标签:

【中文标题】glew未定义的OpenGL函数[关闭]【英文标题】:OpenGL functions undefined with glew [closed] 【发布时间】:2015-08-14 17:38:08 【问题描述】:

所以,我正在尝试使用 glew,但遇到了一个奇怪的问题,即所有 openGL 函数都未定义,并产生 LNK2019。所有 openGL 常量(如 GL_TRUE)都已定义并工作,glews 自己的函数(如 glewInit)工作,glewInit 确实返回 GLEW_OK。 glewExperimental 似乎也没有解决(并产生 LNK2001)

我已经建立了一个虚拟项目,女巫已将 glew32.lib 目录添加到其他库目录,并将 glew32.lib 目录添加到其他依赖项。我还将glew32.dll 放在项目文件夹中。

我从他们的网站下载 glew 作为预编译的二进制文件,并且库和 dll 都是 32 位版本,因为我正在编译到 Win32 平台。

我在 windows 10 上使用 Visual Studio 2015。我在 windows 7 和 VS 2013 上成功使用了 glew,但升级后,我没有让它工作。

编辑: 这是我尝试的虚拟构建的错误形式:

LNK2019 unresolved external symbol __imp__glGetIntegerv@8 referenced in function _main

【问题讨论】:

如何发布尝试构建的错误输出? glGetIntegerv 不是 glew 函数。是OpenGL函数。 【参考方案1】:

OpenGL 作为一个库提供,您必须链接该库才能使用 OpenGL,否则会出现链接器错误。

【讨论】:

【参考方案2】:

正如doron所说,你需要链接opengl32.lib。这是来自 glew 文档:

请记住将您的项目与 Windows 上的 glew32.lib、glu32.lib 和 opengl32.lib 以及 Unix 上的 libGLEW.so、libGLU.so 和 libGL.so (-lGLEW -lGLU -lGL) 链接。

【讨论】:

以上是关于glew未定义的OpenGL函数[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Qt 项目中对 glew 方法的未定义引用

对 glew 的未定义引用 [重复]

OpenGL 项目返回未定义的引用

链接GLEW等,_glViewport是唯一未解决的

为啥我得到:“未定义的对 `glfwInit' 的引用”?

GLEW + cmake 链接失败“未定义对符号 glDrawElements 的引用”+“命令行中缺少 DSO”