openGL - 调用glMatrixMode(...)时访问冲突

时间:2016-03-08 08:47:56

标签: c++ opengl sdl c++builder c++builder-10-seattle

我目前正在使用SDL 1.2.4和C ++ Builder 10.0 Seattle。我已经设置了一个简单的测试程序来检查一切是否正常工作。

以下代码编译时没有警告或错误,但是给了我一个运行时错误:

  

Exception-Klasse $ C0000005 mit Meldung'访问冲突位于0x68cc46f5:读取地址0x00001701'。 Prozess Project1.exe(2624)

int _tmain(int argc, _TCHAR* argv[]) {

    SDL_Init(SDL_INIT_VIDEO);
    SDL_SetVideoMode(640, 480, 32, SDL_OPENGL);

    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(70,(double)640/480,1,1000);

    while (true) {
        SDL_PumpEvents();
    }

    return 0;
}

如果我删除glMatrixMode(...),代码“有效”,意味着弹出一个窗口但不显示任何内容。所以MatrixMode似乎就是这里的问题。

1 个答案:

答案 0 :(得分:1)

如果有人通过谷歌找到这个帖子:

我为Borland编译器下载了opengl32.lib和gl32.lib。 这些文件被打破了。不再知道源代码,但在使用名为bc_libs.zip的文件时要小心

我自己使用windows / system32中的.dll创建.lib。