C++ 字体未加载
我花了两个小时试图找出我的代码有什么问题。Google/StackOverflow上的一些解决方案并没有改变这个问题 以下是简单的代码: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);
#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