使用GLEW编译问题

时间:2017-03-08 04:37:59

标签: c++ c++11 sdl-2 clion glew

PS:我已经尝试过以下链接中的答案:How to import Zbar Framework in Swift Project

但是我没有得到任何结果,同样的错误仍然显示出来。

我正在尝试用c ++编译一些代码,我使用SDL和GLEW,我试图创建一个简单的精灵但是这样做我得到了下一个输出:

Supposedly duplicated :(

这是我的来源:

#include "Sprite.h"

Sprite::Sprite() {
    _vboID =0;
}

Sprite::~Sprite() {
    if(_vboID != 0){
    glDeleteBuffers(1, &_vboID);
    }
}

void Sprite::init(float x, float y, float width, float height) {
    x=_x;
    y=_y;
    width=_width;
    height=_height;

    if(_vboID==0){
        glGenBuffers(1,&_vboID);
    }

    float vertexData[12];

    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);
    glBindBuffer(GL_ARRAY_BUFFER, 0);
}

void Sprite::draw() {
    glBindBuffer(GL_ARRAY_BUFFER, _vboID);
    glEnableVertexAttribArray(0);
    glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, 0);
    glDrawArrays(GL_TRIANGLES, 0, 6);
    glDisableVertexAttribArray(0);
    glBindBuffer(GL_ARRAY_BUFFER, 0);
}

我已经添加了所有的文件,但我有这个输出。

1 个答案:

答案 0 :(得分:2)

将此添加到您的CMakeLists.txt

find_package(GLEW REQUIRED)
include_directories(${GLEW_INCLUDE_DIRS})

and in the target_link_libraries( ... ${GLEW_LIBRARIES} ... )

这很可能会解决您的问题,但您应该深入了解cmake并编写更清晰的CMakeLists.txt文件。