【发布时间】:2010-10-03 12:55:41
【问题描述】:
我正在创建一个 C++ SDL 游戏引擎,知道可执行文件的路径是相关的,因为图像和其他资源不存储在可执行文件中 - 它们位于单独的文件夹中(“res/”)。
在 Linux 下,我使用一个 shell 脚本“rungame.sh”,它 cd 到可执行文件路径,然后运行可执行文件(然后使用“./”来引用可执行文件夹)。 但是,我认为这是一种“丑陋”的方法,我希望它与 Windows 兼容。
另外,目前的方法不是很好,因为它可能会改变一些命令行参数的含义。
我想要一个跨平台(*NIX、Windows 和 Mac OS X,如果可能的话)的解决方案来获取可执行文件的当前路径。游戏路径/可执行文件名可能会改变。
解决我的问题最简洁的方法是什么(最好使用 std::string 和尽可能少的平台相关 API)?
【问题讨论】:
标签: c++ path cross-platform directory sdl