【问题标题】:SFML Can't Load ImageSFML 无法加载图像
【发布时间】:2018-01-20 20:07:14
【问题描述】:

我正在尝试使用 SFML 加载图像,这是我的代码。

// Get the background texture
Texture bg;
if (!bg.loadFromFile("background.jpg"))
{
    return EXIT_FAILURE;
}

Sprite background;
background.setTexture(bg);
background.setPosition(width / 2, height / 2);

在主循环中:

window.draw(background);

现在,我已将 background.jpg 包含在此解决方案的每个文件夹中,从 C:/users/username/source/repos/thisSolution 开始。但是我仍然收到加载图像失败的错误,VS2017 会在其中查找此文件的任意文件夹吗?

【问题讨论】:

  • Visual Studio 默认将工作目录设置为输出目录。尝试将它放在与构建的可执行文件相同的文件夹中。
  • 为了进一步澄清,这个文件夹可能会被称为DebugRelease,这取决于你的配置。如果您在 VS 中构建,那么我相信资源应该与 .vcxproj 放在同一个文件夹中

标签: c++ visual-studio sfml


【解决方案1】:

正如@Arnav Broborah 指出的那样,默认情况下,Visual Studio 中的资源应位于您的项目文件夹中(.vcxproj 文件所在的位置)

如果您使用“为解决方案创建目录”创建了项目,则 生成的层次结构将类似于:

C:\Users\username\Documents\Visual Studio 2013\Projects\YourSolution\YourProject

显然,这些名称取决于您安装 VS 的驱动器、用户名、VS 版本等,但您的资源文件应该默认进入项目文件夹

【讨论】:

    【解决方案2】:

    您可以在调试设置中更改它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-21
      • 2019-07-03
      • 2013-12-10
      • 2020-05-06
      • 2016-03-16
      • 2023-01-20
      • 2012-11-29
      • 2014-11-22
      相关资源
      最近更新 更多