Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ SFML赢得';我不能打开窗户吗?_C++_C_Sfml - Fatal编程技术网

C++ SFML赢得';我不能打开窗户吗?

C++ SFML赢得';我不能打开窗户吗?,c++,c,sfml,C++,C,Sfml,因此,正如标题所示,我试图在Windows 7上使用代码块中的SFML 1.6(MinGW v.4.7.0)创建一个简单窗口(不,我没有使用ATI GPU) 代码如下: #include <SFML/Window.hpp> int main() { sf::Window App(sf::VideoMode(800, 600, 16), "SFML Window"); App.Display(); return 0; } #包括 int main() {

因此,正如标题所示,我试图在Windows 7上使用代码块中的SFML 1.6(MinGW v.4.7.0)创建一个简单窗口(不,我没有使用ATI GPU)

代码如下:

#include <SFML/Window.hpp>

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

    return 0;
}
#包括
int main()
{
sf::Window应用程序(sf::VideoMode(80060016),“SFML窗口”);
App.Display();
返回0;
}
每当我试图运行此代码时,它只会说
Program.exe没有响应
,必须使用
关闭此程序
将其关闭。有趣的是,SFML教程网站上提供的第一个教程(在控制台中使用
sf::Clock
的教程)可以正常工作,因此可以正确加载库

有人能帮我找到错误的原因吗


除了崩溃之外,我没有发现任何编译器或应用程序错误。

问题在于您没有创建用于轮询事件和处理操作系统消息的主循环。将其附加到
main()
(是的,这是SFML文档中的一个片段):


因此,在创建窗口后,您无需调用
App.Display()

问题在于您尚未创建轮询事件和处理操作系统消息的主循环。将其附加到
main()
(是的,这是SFML文档中的一个片段):


因此,在创建窗口后,您无需调用
App.Display()

对于那些想要全部内容的人,这是从中提取的片段

#包括
int main()
{
窗口窗口(sf::视频模式(800600),“SFML窗口”);
//只要窗口打开,就运行程序
while(window.isOpen())
{
//检查自上次循环迭代以来触发的所有窗口事件
sf::事件;
while(window.pollEvent(事件))
{
//“请求关闭”事件:我们关闭窗口
如果(event.type==sf::event::Closed)
window.close();
}
}    
返回0;
}
您将获得:


对于那些想要全部东西的人来说,这是从

#包括
int main()
{
窗口窗口(sf::视频模式(800600),“SFML窗口”);
//只要窗口打开,就运行程序
while(window.isOpen())
{
//检查自上次循环迭代以来触发的所有窗口事件
sf::事件;
while(window.pollEvent(事件))
{
//“请求关闭”事件:我们关闭窗口
如果(event.type==sf::event::Closed)
window.close();
}
}    
返回0;
}
您将获得:


不相关,但如果你刚开始,你可能应该更新到SFML 2.0.Oh,上面说1.6是当前版本,所以我就用了。不相关,但如果你刚开始,你可能应该更新到SFML 2.0.Oh,上面说1.6是当前版本,所以我就用了。上面说“sf::Window未定义”,之后就没有骰子了,甚至在删除它之后。为了解决这个问题,我必须自己编译libs。说“sf::Window未定义”,之后就没有骰子了,即使在删除它之后。为了解决这个问题,我必须自己编译libs。
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();
}
#include <SFML/Window.hpp>

int main()
{
    sf::Window window(sf::VideoMode(800, 600), "SFML Window");

    // run the program as long as the window is open
    while (window.isOpen())
    {
        // check all the window's events that were triggered since the last iteration of the loop
        sf::Event event;
        while (window.pollEvent(event))
        {
            // "close requested" event: we close the window
            if (event.type == sf::Event::Closed)
                window.close();
        }
    }    

    return 0;
}