2012-04-23 17 views
5

Mi aplicación se bloquea en las versiones 4.2 y 4.3 de iOS. La línea de código que se estrella está en una biblioteca de C++:Depure un error oscuro en el iPhone

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

La consola 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 

Es probablemente ayudaría si pudiera averiguar qué "dylib # 2" es.

Respuesta

1

Resulta que necesitaba para incluir el lstdC++ bandera enlazador bajo iOS 4.X

+0

Hola, tengo el mismo problema. ¿Cómo agregaste la bandera del enlazador lstdC++? – Madoc

+1

Vaya a Propiedades de compilación en XCode y agregue lstdC++ a Otros indicadores de enlazador –

0

Una posibilidad: ¿la biblioteca C++ está enlazando a una biblioteca dinámica (dylib)? Si es así, necesitará encontrar una versión estáticamente vinculada para iOS, ya que iOS no permite bibliotecas dinámicas.

+0

Este error se produce sólo en iOS 4.X, no 5.X. iOS ¿Se aplicaría su respuesta? –

+0

@Andrew: no estoy seguro, en ese caso tal vez la biblioteca en sí fue diseñada para iOS 5 y por eso no se puede cargar con iOS 4. –

Cuestiones relacionadas