Текущий путь / библиотека SDL - PullRequest
0 голосов
/ 21 декабря 2011

Я пытаюсь получить путь к файлу текущего исполняемого файла без имени исполняемого файла в конце.

Я делаю:

uint32_t size = sizeof(path);

if (_NSGetExecutablePath(path, &size) == 0) {


}

else {

    printf("buffer too small; need size %u\n", size);
}



char* program_name = dirname(path); // To remove executable name from the path

Работает путь выхода: / Users / Me / Рабочий стол / TNT / build / Debug /

Но когда я собирался добавить какой-либо графический интерфейс с помощью библиотеки SDL, путь вывода был неправильным:

/ Users / Me / Desktop / TNT / сборки / Debug / TNT.app /

1 Ответ

1 голос
/ 21 декабря 2011

Это не так, это правильно.

С http://en.wikipedia.org/wiki/Application_bundle#Mac_OS_X_application_bundles:

Пакеты приложений - это иерархии каталогов с верхним уровнем каталог, имя которого заканчивается расширением .app.

TNT.app / - это рабочий каталог (и каталог верхнего уровня комплекта приложений) в Mac OSX. Вы можете подтвердить это, если введете командную оболочку и cd в каталог.

...