2012-06-10 80 views
0

我試圖使用SFML的全屏模式進行測試,但每次窗口進入全屏模式時都會崩潰。這是我的計劃:SFML 1.6全屏崩潰在侏儒3

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

,當我從終端運行程序本身崩潰:

#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 (); 
    } 
} 

我用這個命令生成文件編譯

build/Test 1440 900

build/Test

我在Apple Macbook Air上運行ubuntu linux 12.04(4,2)。我嘗試使用gdm和lightdm,他們都有相同的結果。此外,它工作正常使用GNOME 2,團結,OPENBOX,只是不能與GNOME 3

我不介意與配置文件勾搭,但我想留在GNOME的外殼,因爲它是目前我最喜歡的DE。

+3

你在那裏使用了很多不必要的指針 - 當然 - 泄漏了他們的內存。像SFML這樣的庫的重點在於你*不使用指針。現在,你沒有提及*它在哪裏崩潰(你是否調試過?)以及終端上的錯誤消息是什麼。 –

+1

@up是對的,1.6也是過時的。我知道2.0還沒有正式公佈,但它可能值得一試,並由你自己編譯。我發現這種方法通常不太容易出錯。 –

+1

但是,但是...不是指針酷和高效? ;) – fredoverflow

回答

0

切換到SFML 2.0解決了這個問題。感謝Konrad Rudolph在評論中張貼這些信息。