首页 文章

glew问题(链接,崩溃)

提问于
浏览
1

我试图在codeblocks(在Windows上)设置glew . 我静静地链接它 . 问题是有两个.lib文件 glew32.libglew32s.lib . 当我链接 glew32.lib 我有 undefined reference to ___glewGenBuffers (或除了 glewInit() 之外的任何类似功能) . 当我链接 glew32s.lib 时,一切编译都很好,但程序崩溃(分段错误)与 glewInit() 一致 . 创建了Opengl上下文,定义了 #GLEW_STATIC ,从here下载了glew .

我的测试程序:

#include <iostream>
#define GLEW_STATIC
#include <GL/glew.h>
#include <GL/freeglut.h>

using namespace std;

void initGL()
{
    glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
    glutInitWindowPosition(0,0);
    glutInitWindowSize(1920,1080);
}


int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    initGL();
    glutCreateWindow("TEST");
    GLenum err=glewInit();

    if (GLEW_OK != err)
    {
    cout<<glewGetErrorString(err)<<endl;
    }

        GLuint foo[2];
        glGenBuffers(2,foo);

    return 0;
}

有什么想法我做错了什么?

1 回答

  • 0

    仅当使用库的静态版本 glew32s.lib 时才定义 GLEW_STATIC . 因此,如果您这样做,请转到编译器设置面板,并添加到其他选项 -DGLEW_STATIC .

    还要确保通过将 glew32s 添加到链接器设置来正确链接lib .

    您还需要使用 opengl32 链接到openGL .

相关问题