SFML 1.6 在 Gnome 3 上全屏崩溃

SFML 1.6 Fullscreen Crash on Gnome 3

本文关键字:崩溃 Gnome SFML      更新时间:2023-10-16

我正在尝试使用 SFML 的全屏模式进行测试,但是每次窗口进入全屏模式时它都会崩溃。这是我的程序:

#include <stdio.h>
#include <SFML/Graphics.hpp>
int main ( int argc, char** argv ) {
    sf::Window win( sf::VideoMode ( argc >= 3 ? atoi ( ( const *char ) argv[1] ) : 1280, argc >= 3 ? atoi ( ( const *char ) argv[2] ) ), "", sf::Style::Fullscreen );
    while ( win.IsOpened ( ) ) {
        sf::Event in;
        while ( win.GetEvent ( in ) ) {
            if ( in.Type == sf::Event::KeyPressed ) {
                switch ( in.Key.Code ) {
                    case sf::Key::Q:
                        win.Close ( );
                        break;
                    default:
                        break;
                }
            }
        }
        win.Display ( );
    }
}

我用这个命令用一个制作文件编译它:

g++ -o build/Test -lsfml-system -lsfml-window -lsfml-graphics src/main.cpp

当我从终端运行程序时,它会崩溃:

build/Test 1440 900

build/Test

我在Apple Macbook Air上运行ubuntu linux 12.04(4,2)。我尝试同时使用 gdm 和 lightdm,它们都有相同的结果。此外,它适用于 gnome 2、Unity 和 openbox,只是不适用于 gnome 3。

我不介意弄乱配置文件,但我想继续使用 gnome shell,因为它目前是我最喜欢的 DE。

切换到 SFML 2.0 解决了这个问题。感谢康拉德·鲁道夫在评论中发布。