调用Clock :: getElapsedTime()时SFML 2.0崩溃

时间:2012-10-29 22:57:17

标签: c++ c sfml

此代码使程序冻结(“Game.exe已停止工作”):

#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>

int main()
{

    sf::Clock clock;
    clock.getElapsedTime();

    return 0;
}

但是,这不会崩溃:

#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <SFML/System.hpp>

int main()
{

    sf::Clock clock;

    return 0;
}

我正在使用SFML 2.0,Windows 7,MinGW 4.70(Code :: Blocks)。我不知道为什么,我按照所有说明链接库,似乎没有任何工作。

我可能会因为愤怒而错过一些简单的事情(我一直试图运行示例代码一周,没有任何工作),所以有人能给我一块骨头吗?

其他详情:

  • 链接到-d库没有帮助
  • 我将所有.dll与.exe
  • 放在同一目录中
  • 调试和发布模式无效
  • 我将应用程序设置为“GUI Application”,“Console Application”也不起作用

GDB吐出一个seg。故障:

Program received signal SIGSEGV, Segmentation fault.
In sf::Clock::Clock() () (C:\Users\kworden\Documents\Work\Programming\Game\bin\Debug\sfml-system-2.dll)
At C:\Users\kworden\Documents\Work\Programming\Game\main.cpp:8

解决方案:

自己编译库。我使用了教程here并重新链接到CMake生成的库。

1 个答案:

答案 0 :(得分:1)

从评论中复制答案:

我用谷歌搜索这个只是为了看看这个lib是什么,你需要重新编译lib:en.sfml-dev.org/forums/index.php?topic=8726.0

这确实解决了这个问题。