1

タイトルが示すように、 Windows 7の CodeBlocks (MinGW v.4.7.0) でSFML 1.6を使用して単純なウィンドウを作成しようとしています(いいえ、ATI GPU を使用していません)。

これはコードです:

#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 チュートリアル Web サイトで提供されている最初のチュートリアル (sf::Clockコンソールで使用するもの) が機能するため、ライブラリが適切に読み込まれます。

誰かが私が得ているエラーの原因を見つけるのを手伝ってもらえますか?

クラッシュ以外に、コンパイラ エラーやアプリケーション エラーは発生しません。

4

2 に答える 2

1

問題は、イベントをポーリングして OS メッセージを処理するメイン ループを作成していないことです。これを追加しmain()ます (はい、これは SFML ドキュメントのスニペットです):

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

App.Display()したがって、ウィンドウを作成した後に呼び出す必要はありません。

于 2012-10-29T05:30:49.703 に答える