2012-04-23 11 views
5

La mia app si arresta in modo anomalo nelle versioni 4.2 e 4.3 di iOS. La riga di codice che si blocca è in una libreria C++:Eseguire il debug di un oscuro errore su iPhone

Ais8_001_22_Circle const *circle = dynamic_cast<Ais8_001_22_Circle const*>(*sa); 

La console dice:

dyld: lazy symbol binding failed: can't resolve symbol ___dynamic_cast MY_APP 
because dependent dylib #2 could not be loaded 

dyld: can't resolve symbol ___dynamic_cast in MY_APP 
because dependent dylib #2 could not be loaded 

Sarebbe probabilmente utile se riuscivo a capire che cosa "dylib # 2" è.

risposta

1

Si scopre avevo bisogno di includere il lstdC++ bandiera linker sotto iOS 4.X

+0

Ciao, ho lo stesso problema. Come hai aggiunto il flag linker lstdC++? – Madoc

+1

Vai a Proprietà di costruzione in XCode e aggiungi lstdC++ a Altri flag di linker –

0

Una possibilità: la libreria C++ si sta collegando a una libreria dinamica (dylib)? In tal caso, devi trovare una versione collegata in modo statico per iOS poiché iOS non consente le librerie dinamiche.

+0

Questo bug si verifica solo su iOS 4.X, non iOS 5.X. Vorresti la tua risposta? –

+0

@Andrew - non è sicuro, in quel caso forse la libreria stessa è stata costruita per iOS 5 ed è per questo che non può essere caricata con iOS 4? –

Problemi correlati