尝试构建此程序时出错:
这些是发生错误的类的文件:
Sprite.h
#ifndef SPRITE_H
#define SPRITE_H
#include <GL/glew.h>
class Sprite
{
public:
Sprite();
virtual ~Sprite();
void draw();
void init(int x, int y, int width, int height);
protected:
private:
int _x;
int _y;
int _width;
int _height;
GLuint _vboID;
};
#endif // SPRITE_H
Sprite.cpp
#include "Sprite.h"
Sprite::Sprite(){
_vboID = 0;
}
Sprite::~Sprite()
{
//dtor
}
void Sprite::init(int x, int y, int width, int height){
_x = x;
_y = y;
_width = width;
_height = height;
if(_vboID == 0){
glGenBuffers(1, &_vboID);
}
float vertexData[12];
//first triangle
vertexData[0] = x + width;
vertexData[1] = y + height;
vertexData[2] = x;
vertexData[3] = y + height;
vertexData[4] = x;
vertexData[5] = y;
//second triangle
vertexData[6] = x;
vertexData[7] = y;
vertexData[8] = x + width;
vertexData[9] = y;
vertexData[10] = x + width;
vertexData[11] = y + height;
glBindBuffer(GL_ARRAY_BUFFER, _vboID);
glBufferData(GL_ARRAY_BUFFER, sizeof(vertexData), vertexData, GL_STATIC_DRAW);
}
void Sprite::draw(){
}
此外,我在链接库下按此顺序设置了我的链接器:
的mingw32
libSDL2main
libSDL2
glew32
glew32s
openGL32
我找到了一些解决方案,说你必须使用#define GLEW_STATIC。然而,这个解决方案对我不起作用。也改变连接器的顺序并没有改变任何东西。
答案 0 :(得分:0)
确保将图书馆链接到哪里 实现了glGenBuffers(我猜它是openGL)。 您写道,您链接了该库,确保为所有配置(调试,发布)和体系结构(x64,win32)设置了链接设置