We have a huge codebase with multiple dependencies (like tinyxml, fft stuff, etc), templates, ... in C/C++, all of which is wrapped neatly behind a very simple C interface.
Building a dynamic library for OSX was just fine, because we could easily strip all unwanted symbols from the library (using strip -S -x) leaving only the wanted C interface and hiding all the C++ classes / templates / dependencies / ... So in the end the only symbols exported/visible are our API calls: OUR_LIBNAME_FUNC1, OUR_LIBNAME_FUNC2 etc etc
However, we now want to do the same for an iOS static lib and we are running out of ideas. Is there any way to hide all the un-needed/wanted symbols without reverting to a big mess of code-amalgamation, rewriting code, objdump-ing, obfuscation...? Especially for the external libs that might be reused by others and which will then result in multiple symbol definitions!
After a lot of research ( mostly stack overflow :-) ) I am kind of becoming hopeless...
greets