Como posso isolar símbolos de bibliotecas C / C ++ / ObjC de terceiros?
Eu tenho um projeto que precisa incorporar duas bibliotecas de terceiros, libA e libB. Eu tenho pouca ou nenhuma influência sobre as bibliotecas de terceiros. O problema é que libA e libB incluem versões diferentes de uma biblioteca comum, ASIHTTPRequest. Como resultado, estou recebendo erros como:
-[ASIFormDataRequest setNumberOfTimesToRetryOnTimeout:]: unrecognized selector sent to instance 0x3b4170
, que só posso supor é que libA está se referindo à implementação do ASIHTTPRequest da libB (ou o contrário).
Eu tentei brincar comstrip -s <symbol file> -u <library>
isolar os símbolos das bibliotecas um do outro, mas isso resulta no vinculador do XCode emitindo milhares de avisos e na verdade não corrigindo o principal problema descrito acima.
ld: warning: can't add line info to anonymous symbol anon-func-0x0 from ...
Em geral, como se deve / deve isolar bibliotecas uma da outra?