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

标签 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)。我不知道为什么,我按照所有说明链接库,但似乎没有任何效果。

我可能因为愤怒而遗漏了一些简单的东西(我已经尝试运行示例代码一个星期了,但没有任何效果),所以有人可以给我一 block 骨头吗?

其他细节:

  • 链接到 -d 库没有帮助
  • 我将所有 .dll 都放在与 .exe 相同的目录中
  • 调试和 Release模式没有帮助
  • 我将应用程序设置为“GUI 应用程序”,“控制台应用程序”也不起作用

GDB 吐出一个段。故障:

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 生成的库。

最佳答案

复制评论中的答案:

我用谷歌搜索只是为了看看这个库是什么,所有迹象表明您需要重新编译该库:en.sfml-dev.org/forums/index.php?topic=8726.0

这确实解决了问题。

关于c++ - 调用 Clock::getElapsedTime() 时 SFML 2.0 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13130862/

相关文章:

C程序,终端没有打印

c++ - 使用 C++ 和 sfml 的简单碰撞问题

c++ - 绘制循环和 Lua (Luabridge)

c++ - 在C++标准中,它在哪里表示用它代表的源代码替换类别描述的间距协议(protocol)?

c++ - 无法在 Visual Studio 程序中运行合并排序

c++ - _mm_store_si128 抛出异常

c++ - #define DATA 10 和 # if Defined DATA 之间的区别

c - 结构初始化失败

c++ - SFML C++ 不渲染

c++ - 使用 libdxf 的段错误