OpenGL扩展导致链接器问题

jma*_*erx 0 c c++ windows opengl

我正在尝试获取VBO插件的地址.在我的stdafx.h中,我有gl.h,glext.h和wglext.h

如果我这样做:glGenBuffersARB =(PFNGLGENBUFFERSARBPROC)wglGetProcAddress("glGenBuffersARB"); glGenBuffersARB(0,0);

在stdafx.cpp中,这将编译.但如果我尝试使用glGenBuffersARB(0,0); 在我得到的任何其他h或cpp文件中:

Error   11  fatal error LNK1169: one or more multiply defined symbols found C:\Users\Josh\Documents\Visual Studio 2008\Projects\Vectorizer Project\Release\Vectorizer Project.exe
Error   10  error LNK2005: _glGenBuffersARB already defined in OGLENGINE.obj    stdafx.obj
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么,所以我可以在我的代码中的任何地方使用vbo扩展?

谢谢

Sig*_*erm 5

_glGenBuffersARB已经定义

您可能在标题(*.h)文件中将glGenBuffersARB声明为全局变量,并忘记添加"extern".

这样做的正确方法是什么,所以我可以在我的代码中的任何地方使用vbo扩展?

使用GLEEGLEW.