1

VS2012 を搭載した Windows 8 64 ビットでGLUT ( Nate Robinsから取得した 3.7.6 バイナリ) のセットアップで問題が発生しています。glut32.dll は SysWOW64 ディレクトリにコピーされ、インクルードとライブラリ パスの両方がプロジェクト ファイルに設定され、ライブラリは [リンカー] -> [入力] 設定 ("...;glut32.lib;glu32.lib;opengl32. lib;...")。

私のコードは次のようになります。

#include <GL/glut.h>

void display()
{
}

int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    glutDisplayFunc(display);
    glutMainLoop();
}

ビルド プロセスは成功しますが、アプリケーションがクラッシュし、次のエラー メッセージが表示されます。

HelloOpenGL.exe の 0x1000BBAE (glut32.dll) で未処理の例外: 0xC0000005: アクセス違反書き込み場所 0x000000A8。

セットアップはかなり単純なようです。私が見逃しているアイデアはありますか?

4

1 に答える 1

2

ウィンドウを開かずに を呼び出すとglutDisplayFunc()、クラッシュが発生しました。これは、表示関数を渡す前に新しいウィンドウを開く更新されたコードです。

#include <GL/glut.h>

void display()
{
}

int main(int argc, char **argv)
{
    glutInit(&argc, argv);
    //Set Display Mode
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    //Set the window size
    glutInitWindowSize(250,250);
    //Set the window position
    glutInitWindowPosition(100,100);
    //Create the window
    glutCreateWindow("Hello OpenGL");
    //Set the display function
    glutDisplayFunc(display);
    //Enter the main loop
    glutMainLoop();
}
于 2013-08-28T07:52:22.173 に答える