Wie kann ich die Symbole der C / C ++ / ObjC-Bibliotheken von Drittanbietern voneinander isolieren?

Ich habe ein Projekt, das zwei Bibliotheken von Drittanbietern enthalten muss, libA und libB. Ich habe, wenn überhaupt, wenig Einfluss auf die Bibliotheken von Drittanbietern. Das Problem ist, dass sowohl libA als auch libB verschiedene Versionen einer gemeinsamen Bibliothek, ASIHTTPRequest, enthalten. Als Ergebnis erhalte ich Fehler wie:

-[ASIFormDataRequest setNumberOfTimesToRetryOnTimeout:]: unrecognized selector sent to instance 0x3b4170

, was ich nur vermuten kann, weil libA sich auf die Implementierung von ASIHTTPRequest durch libB bezieht (oder umgekehrt).

Ich habe versucht, mit @ herumzuspielstrip -s <symbol file> -u <library>, um die Symbole der Bibliotheken voneinander zu isolieren. Dies führt jedoch dazu, dass der XCode-Linker Tausende von Warnungen ausgibt und das oben beschriebene Hauptproblem nicht behebt.

ld: warning: can't add line info to anonymous symbol anon-func-0x0 from ...

ie kann / soll man Bibliotheken generell voneinander isoliere

Antworten auf die Frage(4)

Ihre Antwort auf die Frage