首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对_imp___glewGenBuffers的引用未定义

对_imp___glewGenBuffers的引用未定义
EN

Stack Overflow用户
提问于 2015-12-25 22:14:36
回答 1查看 372关注 0票数 0

我在尝试构建此程序时遇到错误:

以下是发生错误的类的文件:

Sprite.h

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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。然而,这个解决方案对我不起作用。此外,更改链接器的顺序也不会改变任何东西。

EN

回答 1

Stack Overflow用户

发布于 2015-12-25 23:11:52

确保链接了实现glGenBuffers的库(我猜它是openGL)。您编写了链接库,请确保为所有配置(调试、发布)和架构(x64、win32)设置了链接设置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34463590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档