Я пишу многоразовую статическую библиотеку для iPhone, следуя инструкциям здесь.
Я хочу использовать minizip
в своей внутренней библиотеке, но не хочу показывать ее пользователю.
Пользователь должен иметь возможность включать minizip самостоятельно, возможно, другую версию, а не создавать конфликты с моей "внутренней" версией minizip.
Возможно ли это?
Edit:
Я попробовал добавить -fvisibility=hidden
к дополнительным флагам компилятора для файлов minizip и изменениям функций __private_extern__
и __attribute__((visibility("hidden")))
, но он все еще, кажется, создает определенные внешние символы:
00000918 T _unzOpen
0000058e T _unzOpen2
00001d06 T _unzOpenCurrentFile
00001d6b T _unzOpenCurrentFile2
...
Изменить # 2:
По-видимому, символы, помеченные этими аннотациями, сделаны только линкером, что никогда не происходит, когда Xcode создает источники, поскольку он добавляет параметр -c ( "Скомпилируйте или создайте исходные файлы, но не связывайтесь" ).