LINUX.ORG.RU

[macos]текущая директория, как?

 


0

0

Проблема состоит в том, что запуская бинарник из консоли, код вроде:

MyImage = image_load( "./data/image01.jpg" );

работает корректно, и файл загружается. Запуская по двойному клику, приходиться пользоваться абсолютным путем... Может я чего-то не понимаю в этой ОС? :)

★★★★

Если речь идет о бандле, то бинарь лежит глубоко внутри дира AppName.app, посему вам нужно получить путь, по которому лежит бинарь и относительно него добраться до дира Resources, в котором и должны быть размещены ваши данные.

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

> бандле, то бинарь лежит глубоко внутри дира AppName.app

теперь понятно как это чудо называется :)

> посему вам нужно получить путь, по которому лежит бинарь

вопрос собсно в этом и состоит, как получить этот путь?

Andru ★★★★
() автор топика
Ответ на: комментарий от Andru

>> посему вам нужно получить путь, по которому лежит бинарь

> вопрос собсно в этом и состоит, как получить этот путь?


const char *path = [[[NSBundle mainBundle] bundlePath] UTF8String];

или нечто вроде такого:

CFBundleRef bundle = CFBundleGetMainBundle ();
CFURLRef res = CFBundleCopyResourcesDirectoryURL(bundle);
CFStringRef resStr = CFURLCopyFileSystemPath(res, kCFURLPOSIXPathStyle);
char path[8192];
CFStringGetFileSystemRepresentation(resStr, path, sizeof(path));

не? Документацию почитать религия не позволяет?

armag
()
Ответ на: комментарий от armag

Спасибо.

> не? Документацию почитать религия не позволяет?

Сейчас этим и был занят, и собственно нашел что искал. А до этого
даже не знал что такое Bundle, т.к. пользуясь голым компилятором(FPC)
и MacOS в QEMU(ко всему прочему имея только GPRS) не очень-то и удобно
экспериментировать и черпать нужную информацию с developer.apple.com :)

Andru ★★★★
() автор топика
Ответ на: комментарий от anonymous

> Расскажи, как это делается (если, конечно, ставить с оригинального образа).

Оно даже с образа хакинтоша не ставиться, во всяком случаи мне не
удалось - банально виснет во время установки. Но загрузить уже
установленную на винт, вполне удается.

Andru ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.