字体错误SFML

时间:2018-03-17 21:25:31

标签: c++ mingw sfml

我尝试使用SFML制作游戏,目前正处于加载文本阶段。我使用mingw编译器来编译我的程序,但是当我编译它时我得到了这个错误

未定义引用`_imp ___ ZN2sf4Font12loadFromFileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'

字体文件与代码位于同一文件夹中。

这是我的代码。

#include <SFML/Graphics.hpp>
#include <iostream>
int main()
{
   sf::RenderWindow Window(sf::VideoMode::getDesktopMode(),"Hello Window");
   sf::Font font;
   if(!font.loadFromFile("bit.ttf"))
   {
       std::cout << "No Work";
   }
   sf::Text text("hello", font);
   text.setCharacterSize(30);
   text.setStyle(sf::Text::Bold);
   text.setColor(sf::Color::Red);
    while(Window.isOpen())
    {

      sf::Event Event;
      while(Window.pollEvent(Event))
      {

          if(Event.type == sf::Event::Closed)
          {

              Window.close();
          }

      }

      // Declare and load a font


// Create a text

// Draw it
      Window.draw(text);
      Window.clear(sf::Color());
      Window.display();
    }
}

1 个答案:

答案 0 :(得分:0)

您有链接器错误。要解决此问题,您需要找到SFML dll并将它们粘贴到可执行文件夹中,或者将它们的路径添加到PATH环境变量中。有关如何执行此操作的信息,请参阅this

接下来,您必须确保将正确的.lib文件添加到链接器输入。可以在here找到有关如何在Visual Studio中执行此操作的信息。对于其他IDE,您可以查看this页面。