Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在Visual Studio的解决方案资源管理器中组织项目文件_C++_Visual Studio_Visual Studio 2010_Winapi_Project Management - Fatal编程技术网

C++ 在Visual Studio的解决方案资源管理器中组织项目文件

C++ 在Visual Studio的解决方案资源管理器中组织项目文件,c++,visual-studio,visual-studio-2010,winapi,project-management,C++,Visual Studio,Visual Studio 2010,Winapi,Project Management,我正在制作我的第一个D3D简单游戏。我的游戏使用了很多图像 这是我在磁盘上的组织: MyGame | |-Debug |-Release |-Assets |-Others |-Images |All cpp and h fiels here 如果我从VisualStudio启动我的游戏,游戏就可以运行了。但是如果我通过点击发布文件夹中的EXE文件从Windows启动游戏,我会得到一个错误,我的应用程序无法加载图像。这是因为在我的应用程序中,我引用了像Assets\images\ima

我正在制作我的第一个D3D简单游戏。我的游戏使用了很多图像

这是我在磁盘上的组织:

MyGame
|
|-Debug
|-Release
|-Assets
  |-Others
  |-Images
|All cpp and h fiels here
如果我从VisualStudio启动我的游戏,游戏就可以运行了。但是如果我通过点击发布文件夹中的EXE文件从Windows启动游戏,我会得到一个错误,我的应用程序无法加载图像。这是因为在我的应用程序中,我引用了像Assets\images\image.bmp这样的图像

我应该如何组织我的项目


现在我必须在发布文件夹和主项目文件夹中复制资产文件夹。

我认为您的项目组织得很好;我的建议是,不要依赖于某个目录结构,只需设置app.config或其他XML.config文件,或者注册表设置,但不要这样做,或者使用环境变量my\u GAME\u ASSETS=C:\path\to\ASSETS,或者甚至是一个命令行参数MyGame.exe-assets dir=c:\path\to\assets\可以在启动游戏时设置;然后你可以把它指向正确的目录,不管它在哪里

我认为你的项目组织得很好;我的建议是,不要依赖于某个目录结构,只需设置app.config或其他XML.config文件,或者注册表设置,但不要这样做,或者使用环境变量my\u GAME\u ASSETS=C:\path\to\ASSETS,或者甚至是一个命令行参数MyGame.exe-assets dir=c:\path\to\assets\可以在启动游戏时设置;然后你可以把它指向正确的目录,不管它在哪里

对于@shelleybutterfly的回答,另一种可能性是始终相对地引用图像,例如..\Assets\images\abcde.bmp。然后,在部署时,只要相对关系仍然相同,就可以将可执行文件放在相同的结构中

e、 g.项目:

MyGame
|-Debug
|-Release
|-Assets
  |-Others
  |-Images
e、 g.部署:

C:\Program Files\MyGame
|-Bin (contains *.exe)
|-Assets
  |-Others
  |-Images

@shelleybutterfly回答的另一种可能性是始终相对地引用图像,例如..\Assets\images\abcde.bmp。然后,在部署时,只要相对关系仍然相同,就可以将可执行文件放在相同的结构中

e、 g.项目:

MyGame
|-Debug
|-Release
|-Assets
  |-Others
  |-Images
e、 g.部署:

C:\Program Files\MyGame
|-Bin (contains *.exe)
|-Assets
  |-Others
  |-Images

我见过很多次这样的组织。我想我会用的。还有一个问题。如果我运行游戏窗体VS f5,我的游戏将找不到文件。您可能需要:1。更改构建以将内容直接放入项目目录下的调试和发布目录中默认值取决于项目的类型,但往往类似于MyGameProject\bin\debug和MyGameProject\bin\release,或者,您需要在MyGame目录中安装它,例如,MyGame\game\bin而不仅仅是MyGame\bin,然后使用....\Assets。我见过很多次这样的组织。我想我会用的。还有一个问题。如果我运行游戏窗体VS f5,我的游戏将找不到文件。您可能需要:1。更改构建以将内容直接放入项目目录下的调试和发布目录中默认值取决于项目的类型,但往往类似于MyGameProject\bin\debug和MyGameProject\bin\release,或者,您需要在MyGame目录中安装它,例如,MyGame\game\bin而不仅仅是MyGame\bin,然后使用..\..\Assets。