C++ 字体未加载

C++ 字体未加载,c++,sfml,C++,Sfml,我花了两个小时试图找出我的代码有什么问题。Google/StackOverflow上的一些解决方案并没有改变这个问题 以下是简单的代码: #include <SFML/Graphics.hpp> #include <fstream> int WinMain() { sf::RenderWindow window(sf::VideoMode(1280, 720), "BBS"); window.setFramerateLimit(60);

我花了两个小时试图找出我的代码有什么问题。Google/StackOverflow上的一些解决方案并没有改变这个问题

以下是简单的代码:

#include <SFML/Graphics.hpp>
#include <fstream>

int WinMain()
{
    sf::RenderWindow        window(sf::VideoMode(1280, 720), "BBS");
    window.setFramerateLimit(60);

    // redirect sfml stderr to this file
    std::ofstream file("sfml-log.txt");
    std::streambuf* previous = sf::err().rdbuf(file.rdbuf());

    sf::err() << "ABCD" << std::endl;

    sf::Font font;
    // this line fail and make stderr crash
    font.loadFromFile("E:\\arial.ttf");
    sf::err() << "XYZ" << std::endl;
    return 0;
}
对于上下文,我在与sfml DLL相同的目录中启动可执行文件。 我试图将字体路径修改为“arial.ttf”,并将其放在同一个目录中,但没有任何更改

提前感谢您的帮助。

好的,我刚刚解决了这个问题

我在VS中使用调试设置进行编译,并链接到

sfml-graphics.lib sfml-window-s.lib sfml-window.lib sfml-system-s.lib sfml-system.lib
而不是

sfml-graphics-d.lib sfml-window-s-d.lib sfml-window-d.lib sfml-system-s-d.lib sfml-system-d.lib
sf::Font;如果(!font.loadFromFile(“arial.ttf”){//error…}
。这对我来说很有用,我想你只是把寻路和窗户弄得一团糟。如果您对VisualStudio有一些问题,您仍然可以在Cygwin上进行编译。
sfml-graphics-d.lib sfml-window-s-d.lib sfml-window-d.lib sfml-system-s-d.lib sfml-system-d.lib