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