2017-03-08 4 views
0

PSでコンパイル:私はすでにこのリンクで回答を試してみた: Supposedly duplicated :(問題GLEW

しかし、私は何も結果を取得できませんでしたが、同じエラーがまだ表示されます。

のC++でいくつかのコードをコンパイルしようとしている - 私、SDLとGLEWを使用してイム、私は、単純なスプライトを作成しようとしているが、それをやっていた私は、次の出力を得る:これは私です

Errors

を出典:

#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); 
} 

私はすべての私のlabrariesを追加しましたが、私はこの出力を持っています。

+0

これはリンカエラーです。通常は、コードがリンカーに必要とするライブラリを指定することを怠ってしまいます。 makefileを書いた場合は、それを質問に追加する必要があります。 IDEによって生成された場合は、ライブラリ設定パネルを見つけて不足しているライブラリを追加する必要があります。 – user4581301

+0

スプライトクラス以外のGlew関数を実行することはできますか? –

+0

https://gyazo.com/2668dad9906dc4e027f339e27a09ee4d glDrawArrays(); – SupineDread89

答えて

2

は、これが最も可能性の高いあなたの問題を解決しますが、cmakeのに深く潜るとクリーナーCMakeLists.txtファイルを書き込む必要がありますあなたのCMakeLists.txt

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

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

にこれを追加します。

+0

https://gyazo.com/a3c2d848246965e652ad00cf637f149a CMakeListsをテストします。私はこの出力を持っています。私は_GLEW_INCLUDE_DIR GLEW_LIBRARY_をFindGLEW.cmakeファイルに表示していますが、どこに_GLEW_INCLUDE_DIRがないのかわかりません。GLEW_LIBRARY_ – SupineDread89

+0

cmakeがあなたのglewインストールを認識していないようです。 -DGLEW_DIR = をcmakeコールに追加できますか? – OutOfBound

+0

すべてのプロジェクトをVisual Studioに変更しました。同じライブラリバージョンと同じ#includeで動作しました。しかしWeroがとても役に立ちました – SupineDread89

関連する問題