Visual studio 2010 部署的SFML游戏找不到资源?

Visual studio 2010 部署的SFML游戏找不到资源?,visual-studio-2010,visual-studio,installation,windows-installer,sfml,Visual Studio 2010,Visual Studio,Installation,Windows Installer,Sfml,我正在使用SFML2.0和VisualStudio2010 professional创建一个游戏。当我在VisualStudio中测试我的游戏时,它工作得非常好,加载了所有的资源。它可以找到所有的资源。但是,当我构建setup.exe文件并安装游戏时,部署的版本找不到资源 我觉得这与它在VisualStudio中查找资源的位置有关,而不是与它安装在系统上时的位置有关。在VisualStudio中,程序访问项目文件所在的默认目录中的“res”文件夹。显示 当我安装游戏时,我会将要安装在.exe旁边

我正在使用SFML2.0和VisualStudio2010 professional创建一个游戏。当我在VisualStudio中测试我的游戏时,它工作得非常好,加载了所有的资源。它可以找到所有的资源。但是,当我构建setup.exe文件并安装游戏时,部署的版本找不到资源

我觉得这与它在VisualStudio中查找资源的位置有关,而不是与它安装在系统上时的位置有关。在VisualStudio中,程序访问项目文件所在的默认目录中的“res”文件夹。显示

当我安装游戏时,我会将要安装在.exe旁边的“res”文件夹打包


但是,当我运行部署的游戏时,它找不到任何资源,因此崩溃。我觉得这是一个真正简单的修复,只是我把“res”文件夹放在一个不同的位置,但我已经搞乱了一段时间,无法让它工作。安装程序中的“res”文件夹放在哪里?

如果您没有提供任何代码,我将假定您正在使用相对路径加载资源。这意味着您的应用程序将查找与工作目录相关的文件。现在可以更改工作目录,VisualStudio会这样做,并将其设置为项目文件所在的位置(默认情况下)。当您现在通过双击应用程序来运行应用程序时,工作目录就是应用程序本身所在的位置。因此,您的设置应该可以正常工作

但是,如果您有连接或从安装程序中启动应用程序,则需要确保正确设置了工作目录

此外,您还可以更改应用程序中的工作目录,但这需要一些特定于平台的代码(或者使用例如Boost的文件系统)