在自学OpenGL,看的是红皮书第七版,其中有个例子用到了glGenBuffers()函数,之前的一些例子可以运行
#include<windows.h>
#include<Gl/glew.h>
#include<Gl/glut.h>
我用codebolck+MinGW+opengl
按照网上的的下载了glew并配置
使用glew中的glewinfo查看如下:
GL_VERSION_1_5: OK
---------------
glBeginQuery: OK
glBindBuffer: OK(这个应该是说支持这个函数吧)
glBufferData: OK
glBufferSubData: OK
glDeleteBuffers: OK
glDeleteQueries: OK
glEndQuery: OK
glGenBuffers: OK
使用glew中的visualinfo查看如下:
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 240M/PCIe/SSE2
OpenGL version string: 3.3.0(这个的意思是我的OpenGL的版本吧??)
按道理应该可以使用这个函数啊
之后还是不行,又装了vs2010,并按照网上的配置了一遍,还是不行
总结发现是这样的,包含头文件glew.h的话
g++提示undefined reference to `_imp____glewGenBuffers'
vs提示error LNK2001: unresolved external symbol __imp____glewGenBuffers
因该是链接错误,但是我在linker设置中添加了opengl32.lib,glu32.lib,glut32.lib
不包含glew.h的话
g++提示:error: 'glGenBuffers' was not declared in this scope|
vs提示:error C3861: 'glGenBuffers': identifier not found
没有声明,说明没有这个函数可用
弄了一下午,到现在还不知道该怎么弄,求大神赐教。。。
该放入的dll文件和lib文件我也都放进去了
最后实在不知道该怎么弄了
中途在虚拟机中用ubuntu12.04中的codeblock也试过,还是不行,情况类似。。