Visual Studio 2012在调试期间无法找到资源文件

4

我目前正在学习SFML,我的程序中有这段代码:

if (!texture.loadFromFile("Textures/plane.png"))
{
    std::cout << "Error loading texture plane.png" << std::endl;
}

我在和可执行文件同一目录下的 Textures 文件夹里有一个名为 plane.png 的文件。当我通过 windows explorer 运行可执行文件时,纹理可以正常加载,但是当我在 VS 中以调试模式运行时,会出现以下输出:

  Failed to load image "Textures/plane.png". Reason: Unable to open file
  Error loading texture plane.png

第一行来自SFML,第二行来自我的程序。

有没有办法解决这个问题?我还尝试将纹理文件夹放置在项目根文件夹的几个不同位置,但是没有改变。

1个回答

8
尝试以下方法。进入项目配置属性。查看"调试"选项卡。应该有一个"工作目录"字段。工作目录可能与可执行文件所在的目录不同。你可以将工作目录更改为与Windows资源管理器中运行可执行文件的目录相同,以便使用相同的相对路径找到文件。 (注:我使用的是VS 2010,因此选项的确切名称等可能有所不同。)

非常感谢,就这些内容了。我不熟悉VS(或其他IDE),直到最近我一直在使用文本编辑器+命令行。 - isklenar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接