SFML“未能创建字体”问题

新手上路,请多包涵

我在 Visual Studio 2015 中使用 SFML 制作需要我打印文本的游戏。我尝试加载字体并不断收到“创建字体失败”的错误消息。我尝试加载几种不同的字体,但它们都不起作用,它们位于正确的目录中,这是我的项目所在的文件夹。

这就是它的全部内容,但它不起作用:

  sf::Font font;
    if (!font.loadFromFile("arial.ttf"))
        return EXIT_FAILURE;

arial 的 ttf 文件与项目本身位于同一文件夹中,这似乎可以解决我在网上找到的其他有相同问题的其他人的问题。知道为什么字体仍然无法加载吗?

原文由 SBE 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
1 个回答

简单的答案是,当您运行可执行文件时,该文件 不在 您当前的工作目录中。

尝试输入一个完全限定的文件名。它会起作用的。

使用 Visual Studio,这很可能是您的 .vcxproj 文件所在的目录。

如果这不起作用,您可以通过查看 这篇 文章了解您当前的工作目录是什么,以了解如何找出当前目录的通用方法。

作为一个快速破解,您可以在程序启动时创建一个文件。启动一次并检查文件的创建位置。这是当前目录。

原文由 nvoigt 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏