У нас есть огромная кодовая база с множественными зависимостями (например, tinyxml, fft и т. Д.), Шаблонами ... в C / C ++, которые аккуратно заключены в очень простой интерфейс на языке C.
Создание динамической библиотеки для OSX было просто замечательно, потому что мы могли легко убрать все ненужные символы из библиотеки (используя strip -S -x), оставив только нужный интерфейс C и скрыв все классы C ++ / templates / dependencies /. .. Таким образом, в итоге единственными экспортируемыми / видимыми символами являются наши вызовы API: OUR_LIBNAME_FUNC1, OUR_LIBNAME_FUNC2 и т. Д. И т. Д.
Однако теперь мы хотим сделать то же самое для статической библиотеки iOS, и у нас заканчиваются идеи. Есть ли способ скрыть все ненужные / нужные символы, не возвращаясь к большому беспорядку слияния кода, переписывания кода, objdump-ing, запутывания ...? Особенно для внешних библиотек, которые могут быть повторно использованы другими и которые приведут к нескольким определениям символов!
После долгих исследований (в основном переполнение стека :-)) я становлюсь безнадежным ...
приветствует