我想进入C语言学习OpenGL,并且正在使用Code :: Blocks.我可以使用freeglut以及一些在线示例(以及CB附带的示例)来工作.
但是,当我尝试在某些教程中包含GLEW时,出现以下编译器错误:
obj\Debug\main.o||In function `RenderSceneCB':|
C:\C Programs\OpenGL Test\main.cpp|12|undefined reference to `_imp____glewEnableVertexAttribArray'|
C:\C Programs\OpenGL Test\main.cpp|13|undefined reference to `_imp____glewBindBuffer'|
C:\C Programs\OpenGL Test\main.cpp|14|undefined reference to `_imp____glewVertexAttribPointer'|
C:\C Programs\OpenGL Test\main.cpp|18|undefined reference to `_imp____glewDisableVertexAttribArray'|
obj\Debug\main.o||In function `CreateVertexBuffer':|
C:\C Programs\OpenGL Test\main.cpp|34|undefined reference to `_imp____glewGenBuffers'|
C:\C Programs\OpenGL Test\main.cpp|35|undefined reference to `_imp____glewBindBuffer'|
C:\C Programs\OpenGL Test\main.cpp|36|undefined reference to `_imp____glewBufferData'|
||=== Build finished: 7 errors, 0 warnings (0 minutes, 0 seconds) ===|
无论我做什么,尝试什么建议,尝试链接哪些其他文件,我都不断遇到这些相同的错误.我让其他人尝试了该代码,他们说它可以正常工作,但对我的GLEW设置有什么问题没有任何想法.
任何有想法的人,请随我便便.
我正在使用Windows 7,Code :: Blocks 12.11,并下载了适用于GLEW 1.9.0的Ming32二进制文件.
我的链接器设置按以下顺序设置:
glew32
freeglut
opengl32
glu32
WINMM
GDI32
解决方法:
您在链接器设置中有问题.你必须链接
glew32s.lib
不仅glew32.lib,还必须链接glew32s.lib.确保它必须在链接器列表的顶部.
在编写代码时,不要忘记定义
#define GLEW_STATIC
在源文件的顶部.