我正在尝试使用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 ( );
    }
}


我使用以下命令使用makefile对其进行编译:

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

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

build/Test 1440 900

build/Test

我在Apple Macbook Air(4、2)上运行ubuntu linux 12.04。我尝试同时使用gdm和lightdm,它们都具有相同的结果。此外,它与gnome 2,Unity和Openbox搭配使用都很好,但与gnome 3搭配却不行。

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

最佳答案

切换到SFML 2.0可以解决此问题。感谢Konrad Rudolph在评论中发布该内容。

关于c++ - GNOME 3上的SFML 1.6全屏崩溃,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10969813/

10-13 09:16