c-使GLEW在Code :: Blocks中进行编译

我想进入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

在源文件的顶部.

上一篇:c – GCC:程序不适用于编译选项-O3


下一篇:如何在MAC中的/ Library / Framework文件夹中包含C中的文件