【发布时间】:2013-01-27 22:14:17
【问题描述】:
我已经安装了 GLUT,这是我用 GCC 编译的代码:
#include <GL/glut.h>
void display()
{
glClearColor(1.0,1.0,1.0,1.0);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowSize(500,500);
glutCreateWindow("test");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
我是这样编译的:
gcc -Wall -o test -lGL -lGLU -lglut test.c
而且我没有收到任何错误/警告。
但是当我执行它时,窗口不会出现。在下面的面板中,我看到有一个名为“test”的应用程序,但没有窗口。它会冻结 shell 几秒钟,然后按 ctrl+c 并杀死它。
【问题讨论】:
-
我刚刚测试了同样的代码,它运行良好(Archlinux)。您是否尝试调试它以查看它是否在这些函数调用中挂起?它会调用
display()吗? -
是的,我尝试使用 gdb,它确实进入了显示功能。我还注意到,当我进入函数时,gdb 会冻结 2-3 秒。
-
我没有这样的延迟......你可能有一些配置错误。你试过
glxgears吗?或者您的窗口管理器可能出于某种原因隐藏了该窗口,您可以尝试杀死它,看看会发生什么。
标签: linux opengl glut ubuntu-10.10