使用SFML时,出现内存不足或超出范围的异常,这是什么问题?

时间:2018-12-19 15:48:11

标签: c++ visual-studio visual-studio-2017 sfml

我正在学习如何链接SFML,以便可以使用窗口工具。我的最终目标是编写某种国际象棋或小行星游戏,以练习提高编程水平。我使用SFML教程来理清所有链接,而我正在使用.dll文件来动态地进行链接。这段代码中的所有内容都在Visual Studio 2017上编译,但是当控制台出现时,我得到的错误是“应用程序无法正确启动(0xc000007b)”。

我假设这是某种内存错误?我花了一些时间来学习链接,现在我陷入了困境。感谢您的帮助!

PS。只是假设这是一个简单的显示,其中带有绿色圆圈的窗口。

#include "pch.h"
#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <time.h>

using namespace sf;

int main()
{
    RenderWindow window(VideoMode(200,200), "My First Window");
    CircleShape shape(100.f);
    shape.setFillColor(Color::Green);

    while (window.isOpen())
    {
      Event event;
    while (window.pollEvent(event))
    {
      if (event.type == Event::Closed)
      {
        window.close();
      }
      window.clear();
      window.draw(shape);
      window.display();
    }
  }
  return EXIT_SUCCESS;
  }

1 个答案:

答案 0 :(得分:0)

答案已经在评论中提到,但是我将在此处放置一个实际答案,这样更容易看到。

错误代码0xc000007b意味着所需的.dll文件不在PATH或本地目录中。要解决此问题,请将所需的.dll放在系统PATH的目录中或可执行文件的目录中。

此外,您需要确保不要混合使用32位和64位库,因为它们彼此不兼容。

谢谢drescherjm