2012-10-29 5 views
1

그래서, 나는 윈도우 7CodeBlocks (는 MinGW의 v.4.7.0)에 SFML 1.6를 사용하여 간단한 창을 만들려고하고있다 (아니, 나는 ATI의 GPU를 사용하지 않는). 이 코드를 실행하려고 할 때마다SFML이 창을 열지 않습니까? 제목에서 알 수 있듯이

#include <SFML/Window.hpp> 

int main() 
{ 
    sf::Window App(sf::VideoMode(800, 600, 16), "SFML Window"); 
    App.Display(); 

    return 0; 
} 

, 그것은 단지 Program.exe is not responding을 말한다 및 Close this program를 사용하여 셧다운 수 있습니다

는 코드입니다. 재미있는 점은 SFML 튜토리얼 웹 사이트 (콘솔에서 sf::Clock을 사용하는 튜토리얼)에서 제공되는 첫 번째 튜토리얼이 작동하므로 라이브러리가 제대로로드된다는 것입니다.

오류의 원인을 찾는 사람을 도와 줄 사람이 있습니까?

충돌 이외의 컴파일러 나 응용 프로그램 오류가 발생하지 않습니다.

+3

관련이 없지만 방금 시작한 경우 SFML 2.0으로 업데이트해야합니다. – Rapptz

+0

@Rapptz 그 두 번째. :-) – Hiura

+0

아, 1.6이 현재 버전이라고 했으므로 방금 사용했습니다. –

답변

1

문제는 이벤트를 폴링하고 OS 메시지를 처리하는 메인 루프를 만들지 않았기 때문입니다. 창을 만든 후 당신이 App.Display()를 호출하는

while (App.IsOpened()) 
{ 
    // Process events 
    sf::Event Event; 
    while (App.GetEvent(Event)) 
    { 
     // Close window : exit 
     if (Event.Type == sf::Event::Closed) 
     App.Close(); 
    } 

    // Clear the screen 
    App.Clear(); 

    // Put your update and rendering code here... 

    // Update the window 
    App.Display(); 
} 

그것은 따라서 필요가 없습니다 : main()이를 추가 (예, 이것은 SFML 문서에서 발췌)입니다.

+0

"sf :: Window is undefined"라고 말하고 그 이후에는 주사위를 제거한 후에도 주사위가 없습니다. –

+0

이 문제를 해결하기 위해 libs를 직접 컴파일해야했습니다. –

관련 문제