0
我試圖用opengl和glut(eclipse)來啓動hello世界程序。我總是收到消息Program.exe已停止工作。我正在使用Windows。 我安裝了MinGW。opengl glut停止工作
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
void displayCall() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-2.0, 2.0, -2.0, 2.0, -2.0, 500.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(2, 2, 2, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glScalef(.005,.005,.005);
glRotatef(20, 0, 1, 0);
glRotatef(30, 0, 0, 1);
glRotatef(5, 1, 0, 0);
glTranslatef(-300, 0, 0);
glColor3f(1,1,1);
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'H');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'e');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'l');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'l');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'o');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'W');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'o');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'r');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'l');
glutStrokeCharacter(GLUT_STROKE_ROMAN, 'd');
glutStrokeCharacter(GLUT_STROKE_ROMAN, '!');
glutSwapBuffers();
}
int main(int argc, char *argv[]) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(500, 500);
glutInitWindowPosition(300, 200);
glutCreateWindow("Hello World!");
glutDisplayFunc(displayCall);
glutMainLoop();
return 0;
}
我複製要將glut32.dll在C:\ windows \ system32目錄,glut.h在文件夾C:\ MinGW的\包括\ GL和用C libglut32.a:\ MinGW的\ lib中。我設置在eclipse項目 - >屬性 - > c/C++生成 - >設置 - > MinGw C++鏈接器 - >庫(添加):glut32,glu32,opengl32。我不知道它爲什麼會崩潰。
編譯代碼。我在控制檯中沒有錯誤/警告。 – wbohd 2015-02-11 23:32:04
我不使用Windows,但是它最好不要將DLL文件複製到操作系統(操作系統)目錄中......而是告訴eclipse到達API庫的路徑,然後列出所需的庫... eclipse右鍵單擊你的項目然後屬性> C/C++常規>路徑和符號>庫...然後添加每個庫在GL glut GLU ....然後選項卡包括添加您的頭文件.h文件居住的地方 – 2015-02-11 23:47:50