字体未加载
Font not loading
我花了最后 2 个小时试图弄清楚我的代码有什么问题。 Google/Whosebug 上的一些解决方案没有改变问题。
这是这个简单的代码:
#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-log.txt" 已创建,但它每次都包含相同的内容:
ABCD
Failed to load font "
对于上下文,我在与 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
我花了最后 2 个小时试图弄清楚我的代码有什么问题。 Google/Whosebug 上的一些解决方案没有改变问题。
这是这个简单的代码:
#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-log.txt" 已创建,但它每次都包含相同的内容:
ABCD
Failed to load font "
对于上下文,我在与 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