Я знаю, что этот вопрос был задан раньше, но я до сих пор не нашел удовлетворительного ответа или окончательного "нет, это не может быть сделано", поэтому я снова спрошу!
Все, что я хочу сделать, это получить путь к исполняемому исполняемому файлу в настоящий момент, либо как абсолютный путь, либо относительный к тому, откуда вызывается исполняемый файл, независимо от платформы. Я, хотя boost:: filesystem:: initial_path был ответом на мои проблемы, но, похоже, обрабатывает только "независимую от платформы" часть вопроса - он по-прежнему возвращает путь, из которого было вызвано приложение.
Для немного фона это игра с использованием Ogre, которую я пытаюсь профилировать с помощью Very Sleepy, которая запускает целевой исполняемый файл из своего собственного каталога, поэтому, конечно, при загрузке игра не находит файлов конфигурации и т.д. и быстро вылетает. Я хочу иметь возможность передать ему абсолютный путь к файлам конфигурации, которые, как я знаю, всегда будут жить вместе с исполняемым файлом. То же самое касается и отладки в Visual Studio - я бы хотел иметь возможность запускать $(TargetPath) без необходимости устанавливать рабочий каталог.