2012-04-23 17 views
5

Moja aplikacja ulega awarii w wersjach 4.2 i 4.3 systemu iOS. Linia kodu, który rozbija się w C++ biblioteki:Debuguj niejasny błąd na telefonie iPhone

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

Konsola mówi:

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 

Prawdopodobnie pomoc czy mogę dowiedzieć się, co „dylib # 2” jest.

Odpowiedz

1

Okazuje się, że muszę zawierać lstdC++ flagę łącznika pod iOS 4.X

+0

Witam, mam ten sam problem. W jaki sposób dodano flagę lstdC++ linker? – Madoc

+1

Przejdź do właściwości kompilacji w XCode i dodaj lstdC++ do innych flag linkerów –

0

Jedna z możliwości - Czy biblioteka C++ łączysz się z biblioteką dynamiczną (dylib)? Jeśli tak, musisz znaleźć statycznie połączoną wersję dla systemu iOS, ponieważ system iOS nie zezwala na biblioteki dynamiczne.

+0

Ten błąd występuje tylko na iOS 4.x nie iOS 5.x. Czy Twoja odpowiedź miałaby zastosowanie? –

+0

@Andrew - nie jestem pewien, w takim przypadku może sama biblioteka została zbudowana na iOS 5, dlatego nie można jej załadować z iOS 4? –

Powiązane problemy