我发现关于你的问题的文章here。 Getting started with OpenGL in C++也可能有所帮助。虽然,为了以防万一,这里是另一个例子来测试:
void init() {
glClearColor(0.0, 0.0, 0.0, 1.0);
glClearDepth(1.0);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 0.0, 10.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glPushMatrix();
glColor3f(1.0, 1.0, 1.0);
glutSolidTeapot(2.5);
glPopMatrix();
glutSwapBuffers();
}
void reshape(int width, int height) {
glViewport(0, 0, GLsizei(width), GLsizei(height));
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(50.0, GLdouble(width)/GLdouble(height), 1.0, 100.0);
glMatrixMode(GL_MODELVIEW);
}
int main(int argc, char **argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);
glutInitWindowPosition(200, 200);
glutInitWindowSize(800, 600);
glutCreateWindow("Transformations");
init();
glutReshapeFunc(reshape);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
如果您还没有这样做的话,尝试复制/粘贴示例代码来替代,或者检查是否有丢失的DLL(和检查,如果他们是在正确的目录中)。示例代码绝对没有错;它在Visual Studio中完美运行。
你有没有通过调试器运行它或添加一些'cout'语句来查看它出错的地方? –
奇怪的是,我添加了一些cout语句,甚至没有显示出来。代码只是终止(没有错误,或任何不明显的) – cat
在IDE上:Visual Studio(Win),XCode(OS X),CodeBlocks(Linux) – Grimmy