У меня есть универсальная динамическая библиотека на основе какао, которая также включает в себя больше статических библиотек, из которых я хочу экспортировать функциональность. Кажется, я не могу сделать последнее, не используя файл экспортных символов, и это хорошо для меня ... как-то. Я нигде не использую параметр «Символы, скрытые по умолчанию» (GCC_SYMBOLS_PRIVATE_EXTERN, -fvisibility = hidden). Проблема возникла, когда я пытался экспортировать базовый класс из динамической библиотеки, в частности, при попытке использовать его члены в производных классах, не включенных в библиотеку, и даже более конкретно в 64-битную сборку: « Неопределенные символы : "_OBJC_IVAR _ $ _ PluginBase.fConn" " Я отдаю себе отчет в 64-битных изменений: http://developer.apple.com/library/mac/#releasenotes/Cocoa/RN-ObjectiveC/_index.html, раздел "64-бит класса и Instance Control Variable Access"Файл экспортных символов: Объекты класса Objective C, 64-разрядные
и, конечно, все работает, если добавить _OBJC_IVAR _ $ _ PluginBase.fConn в файл экспорта ... но только для 64-битной сборки, 32-разрядный не знает о таких вещах: « Неопределенные символы: "_OBJC_IVAR _ $ _ PluginBase.fConn", ссылки из: -exported_symbol [s_list] параметр командной строки "
Единственное решение, кажется, еще один обходной путь: иметь два экспорта файлов. Но ... Я не могу использовать параметр «Добавить настройку сборки» для параметра EXPORTED_SYMBOLS_FILE: -S.
Любые идеи (помимо использования общедоступных методов доступа)?