【发布时间】:2018-12-25 23:09:10
【问题描述】:
我的C++程序的Release版本的结构是
| bin
| | game.exe
| content
| | sprites
| | | asset.png
在代码中,我将资源的路径传递为“../content/sprites/asset.png”,但程序找不到它。我做错了什么?
额外信息:我使用 SLD2 作为支持库。
【问题讨论】:
-
程序运行时的当前目录不一定是包含二进制文件的目录。您可以通过
GetModuleFileName (NULL)获得此信息 -
所以资产的路径应该是相对于二进制文件还是相对于 GetModuleFileName 的结果?
-
您可以从调用
GetModuleFileName的结果中派生出包含二进制文件的目录 -
所以路径和我假设的一样,现在这个问题已经解决了 - 我如何将正确的路径传递给资产?
-
一旦你有了包含你的二进制文件的目录的名字,你就可以附加你之前使用的相同的路径。