我正在创建一个C ++ SDL游戏引擎,知道可执行路径是相关的,因为图像和其他资源没有存储在可执行文件中 - 它们位于一个单独的文件夹(“res /”)中。
在Linux下,我使用的是一个shell脚本“rungame.sh”,它将cd发送到可执行文件路径,然后运行可执行文件(然后使用“./”来引用可执行文件夹)。但是,我认为这是一种“不太好”的方法,我希望它与Windows兼容。
此外,当前的方法不是很好,因为它可能会改变某些命令行参数的含义。
我想要一个跨平台(* NIX,Windows和Mac OS X,如果可能的话)解决方案来获取可执行文件的当前路径。游戏路径/可执行文件名称可能会更改。
什么是解决我的问题较好的方法(最好使用std :: string和尽可能少的平台相关API)?
发布于 2019-03-18 08:21:25
我强烈建议在发布之前进行搜索:如何获取程序运行的目录?
发布于 2019-03-18 09:18:40
从SDL 2.0.1开始,有SDL_GetBasePath。
https://stackoverflow.com/questions/-100000998
复制相似问题