【问题标题】:Created window not appearing创建的窗口没有出现
【发布时间】: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


【解决方案1】:

我在这里找到了答案:

http://ubuntuforums.org/showthread.php?t=1156705

我不得不暂时禁用 compiz 来渲染窗口。

metacity --replace &   # Disables compiz temporarily
./your_prog
compiz --replace &     # Enables compiz again

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 2022-10-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    相关资源
    最近更新 更多