2011-12-16 2 views
0

Я разрабатываю проект на XCode, в котором я добавил somme dylib. Проект компилируется и прекрасно выполняется при запуске с XCode.XCode: проблемы с подключением dylib при запуске с терминала

Но когда я пытаюсь запустить его в своей оболочке, я получил Lib ошибки:

iMac-de-Remi-Doolaeghe:MacOS remidoolaeghe$ ./Adobe\ InDesign\ CS5 
2011-12-16 10:08:55.160 Adobe InDesign CS5[8071:903] Error loading /Applications/Adobe InDesign CS5/Plug-Ins/Autocat/Autocat.InDesignPlugin/Autocat: dlopen(/Applications/Adobe InDesign CS5/Plug-Ins/Autocat/Autocat.InDesignPlugin/Autocat, 265): Library not loaded: libboost_filesystem-xgcc42-mt-1_37.dylib 
    Referenced from: /Applications/Adobe InDesign CS5/Plug-Ins/Autocat/Autocat.InDesignPlugin/Autocat 
    Reason: image not found 
2011-12-16 10:08:55.161 Adobe InDesign CS5[8071:903] Error loading /Applications/Adobe InDesign CS5/Plug-Ins/Autocat/AutocatUI.InDesignPlugin/AutocatUI: dlopen(/Applications/Adobe InDesign CS5/Plug-Ins/Autocat/AutocatUI.InDesignPlugin/AutocatUI, 265): Library not loaded: libboost_filesystem-xgcc42-mt-1_37.dylib 
    Referenced from: /Applications/Adobe InDesign CS5/Plug-Ins/Autocat/AutocatUI.InDesignPlugin/AutocatUI 
    Reason: image not found 
Bus error 

Это ошибка, я мог бы обойти путем копирования в моем LIBS USR/Lib папки. Это нормально на моем посту. Но это не будет нормально при распространении. Я думаю, что я сделал что-то не так с моим компоновщиком в моем проекте XCode, но не вижу, что.

Я использую XCode 3.2.6. Библиотеки представлены в моих целевых объектах в разделе «Связывание с библиотеками» и в папке «Библиотеки» в разделе «Группы» & Файлы

Я не уверен, имеет ли это значение, но мой проект является плагином для Adobe InDesign.

Заранее спасибо.

ответ

0

Я говорю под поправкой, но если это динамическая библиотека, вам придется иметь эту динамическую lib на машине, где она также распространяется. Возможно, вам интересна упаковка динамического lib в мастер установки или что-то в этом роде.

Однако, если бы это была статическая Lib, вы могли бы в жизнь, чтобы включить все символы, используя один из следующих флагов:

-Obj-C 
-all_load 
-force_load 

Хорошего объяснение на то, что делают эти флаги и как использовать их могут быть найдено здесь: Objective-C categories in static library

Смежные вопросы