2013-05-09 75 views
0

我是Visual Studio的新手,我试图找出组织我的项目的最佳方法。在Visual Studio中处理简单C++项目的图像和声音文件

我正在使用sfml库编写应用程序,并且我使用了各种资源(图像/声音)。我将它们放到项目文件夹中,当我从Visual Studio启动我的应用程序时,一切正常。

我想知道,但是,这是如何转化为程序部署?如果我进入我的解决方案的调试文件夹,并尝试启动该exe文件,则无法找到任何资源文件。我想告诉Visual Studio将文件复制到适当的目录,如果是这样的话?

感谢您的任何建议或链接。

回答

1

对于稍微复杂的“部署”方案,例如,可以使用post-build scripts将正确的文件复制到输出目录中,甚至将其打包到zip文件中。

如果您发现自己写了多个页面的批处理,您可能需要考虑下面的选项,因为batch是一个PITA来调试。

最近的MSVS项目文件实际上是MSBuild文件(只需在记事本或Vim中打开.vcxproj文件)。例如,您可以使用Copy task,使用Exec task等调用任意程序等。它可能比后构建脚本中的批处理脚本更复杂一些。 MSBuild 4可以使用Property Functions使其非常具有表现力。 Useful reference if you do this

对于“完全成熟”的项目,你要使用专用的MSBuild文件,NAnt甚至更​​高级别的包装像Rake推出一个专门的编译系统。

作为一个不太流行的替代方案,在之前的项目中,我在解决方案中构建了一个小型专用“builder”.exe项目,并且还有其他项目依赖于它。然后,在其他项目的后构建脚本中,我只是使用参数调用构建器项目以使其执行某些任务。优点是你可以编写C#(或F#或VB.NET),而不必与构建系统相冲突(尽可能多),我认为它适用于中小型项目。

1

对于我的项目,我把所有东西都放到一个目录中。
转到您的项目配置,将General->Output directory,General->intermediate directoryDebugging->Working directory更改为一个目录。找不到资源文件的原因是因为调试目录与输出目录不同。

+0

啊我明白了。你有调试和发布配置把他们的文件放在同一个位置吗? – zrbecker 2013-05-09 03:52:02

+0

不,如果您查看属性页面的左上角,则调试和发布构建有不同的配置。 – yngccc 2013-05-09 03:54:44