2011-12-11 4 views
1

지금 Visual Studio 2010에서 SFML을 사용하려고하므로 SFML에서 라이브러리를 사용하여 Windows 응용 프로그램과 게임을 만드는 방법을 배우기 시작할 수 있습니다. 자습서 here을 따라 새 창을 열어 봤지만 프로그램이 즉시 중단 된 것 같습니다. 나는 정말로 이유를 모른다 : S. 구축하고 컴파일 할 것 같다, 그러나 나누기 :Visual Studio 2010에서 SFML 사용

편집 : 그것은이 줄 바꿈 : 또한 App.Create(sf::VideoMode(800, 600, 32), "SFML Window");

#include <SFML/Window.hpp> 

int main() 
{ 
    sf::Window App; 
    App.Create(sf::VideoMode(800, 600, 32), "SFML Window"); 
    bool Running = true; 
    while (Running) 
    { 
     sf::Event Event; 
     while (App.GetEvent(Event)) 
     { 
      if (Event.Type == sf::Event::Closed) 
       Running = false; 

      if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Escape)) 
       Running = false; 

     } 
     App.Display(); 
    } 

    return EXIT_SUCCESS; 
} 

, 나는주의해야 다음 SFML 웹 사이트에 , 튜토리얼은 Visual Studio로 설정하는 방법은 VS 2008 (VS로 SFML 설정하기) 인 것 같습니다. VS2010에 대한 일련의 지침을 얻고 설정했습니다.

#include <SFML/System.hpp> 
#include <iostream> 

int main() 
{ 
    sf::Clock Clock; 
    while (Clock.GetElapsedTime() < 5.f) 
    { 
     std::cout << Clock.GetElapsedTime() << std::endl; 
     sf::Sleep(0.5f); 
    } 

    return 0; 
} 

이 ^이 프로그램은 괜찮 았는데 다음 SFML 라이브러리가 작동한다면 나는 테스트하기 위해 짧은 프로그램을 사용했다.

답변

2

SFML 라이브러리는 비주얼 스튜디오 2008에 대한 컴파일됩니다. 손상된 스택에 대한 메시지가 표시되고 App.Clear()와 같은 특정 함수를 호출 할 때 다른 하드 충돌이 발생할 수 있습니다.

당신은 라이브러리를 직접 소스 코드를 컴파일, 또는 다른 사람이 그 일을 한 버전을 찾을 중 하나가 필요합니다. SFML 사이트에서 포럼을 검색하면 2010 년에 컴파일 된 libs에 대한 링크를 찾을 수 있습니다.

늦게 답변, 나도 알아 ...하지만이 질문은 아직도 항상오고있다.

+0

네가 맞다. 나는 이것을 나중에 알아 냈고 dll의 재 컴파일 된 집합을 얻었다. 모두 잘 작동합니다. – Rohit

0

RenderWindow 대신 Window을 사용했기 때문에 오류가 발생했다고 확신합니다. 당신이 그것을 일 '종류'것이다 VS2010와 함께 사용하는 경우

+0

라인에 대해 이야기하는 경우 : sf :: Window App; ... 제안을 테스트했지만 여전히 작동하지 않습니다. 이 프로그램은 RenderWindow를 사용하여 완전히 빌드하지도 않습니다. 그것은 그것을 전혀 인식하지 못합니다. Window를 사용하면 빌드되지만 실행이 중단됩니다. 또한 OP의 일부 링크가 수정되었습니다. 나는 이것을 붙여 넣을 때 파산 한 것을 깨닫지 못했습니다. – Rohit

+0

'RenderWindow'는 2D 드로잉을위한 것입니다. 그림이 없으므로 '창'을 사용하는 것이 좋습니다. –