2012-03-29 4 views
25

Ich erhielt diese Fehler, nachdem ich "-all_load" in der Build-Einstellung "Other Linker Flags" hinzugefügt, wenn ich "libPusher-combined.a" und seine hinzugefügt Header-Dateien. Ich folgte der instructions genau bis zu dem Teil der Eingabe in "-all_load" (unter "Verwenden einer vorkompilierten statischen Bibliothek" in "Hinzufügen zu Ihrem iOS-Projekt", aber ich bekam am Ende 20 Mach-O Linker Fehler.: /? Könnte jemand mir bitte helfen mit diesemApple Mach-O-Linker-Fehler (20) - Nicht definierte Symbole für Architektur armv7

Hier sind die Fehler:

Undefined symbols for architecture armv7: 
"_utf8_nextCharSafeBody", referenced from: 
    -[SRWebSocket _pumpScanner] in libPusher-combined.a(SRWebSocket.o) 
"_SCError", referenced from: 
    -[Reachability startNotifier] in libPusher-combined.a(Reachability.o) 
"_utf8_countTrailBytes", referenced from: 
    -[SRWebSocket _pumpScanner] in libPusher-combined.a(SRWebSocket.o) 
"_SCNetworkReachabilitySetDispatchQueue", referenced from: 
    -[Reachability startNotifier] in libPusher-combined.a(Reachability.o) 
    -[Reachability stopNotifier] in libPusher-combined.a(Reachability.o) 
"_kCFHTTPVersion1_1", referenced from: 
    -[SRWebSocket didConnect] in libPusher-combined.a(SRWebSocket.o) 
"_CFHTTPMessageIsHeaderComplete", referenced from: 
    ___30-[SRWebSocket _readHTTPHeader]_block_invoke_0 in libPusher-combined.a(SRWebSocket.o) 
"_CFHTTPMessageCreateRequest", referenced from: 
    -[SRWebSocket didConnect] in libPusher-combined.a(SRWebSocket.o) 
"_SCNetworkReachabilityCreateWithAddress", referenced from: 
    +[Reachability reachabilityWithAddress:] in libPusher-combined.a(Reachability.o) 
"_SCErrorString", referenced from: 
    -[Reachability startNotifier] in libPusher-combined.a(Reachability.o) 
"_SCNetworkReachabilityCreateWithName", referenced from: 
    +[Reachability reachabilityWithHostname:] in libPusher-combined.a(Reachability.o) 
"_CFHTTPMessageCopyAllHeaderFields", referenced from: 
    ___30-[SRWebSocket _readHTTPHeader]_block_invoke_0 in libPusher-combined.a(SRWebSocket.o) 
"_CFHTTPMessageGetResponseStatusCode", referenced from: 
    -[SRWebSocket _HTTPHeadersDidFinish] in libPusher-combined.a(SRWebSocket.o) 
"_CFHTTPMessageSetHeaderFieldValue", referenced from: 
    -[SRWebSocket didConnect] in libPusher-combined.a(SRWebSocket.o) 
    ___25-[SRWebSocket didConnect]_block_invoke_0 in libPusher-combined.a(SRWebSocket.o) 
"_CFHTTPMessageCreateEmpty", referenced from: 
    -[SRWebSocket _readHTTPHeader] in libPusher-combined.a(SRWebSocket.o) 
"_CFHTTPMessageCopySerializedMessage", referenced from: 
    -[SRWebSocket didConnect] in libPusher-combined.a(SRWebSocket.o) 
"_SCNetworkReachabilitySetCallback", referenced from: 
    -[Reachability startNotifier] in libPusher-combined.a(Reachability.o) 
    -[Reachability stopNotifier] in libPusher-combined.a(Reachability.o) 
"_SCNetworkReachabilityGetFlags", referenced from: 
    -[Reachability isReachable] in libPusher-combined.a(Reachability.o) 
    -[Reachability isReachableViaWWAN] in libPusher-combined.a(Reachability.o) 
    -[Reachability isReachableViaWiFi] in libPusher-combined.a(Reachability.o) 
    -[Reachability connectionRequired] in libPusher-combined.a(Reachability.o) 
    -[Reachability isConnectionOnDemand] in libPusher-combined.a(Reachability.o) 
    -[Reachability isInterventionRequired] in libPusher-combined.a(Reachability.o) 
    -[Reachability reachabilityFlags] in libPusher-combined.a(Reachability.o) 
    ... 
"_CFHTTPMessageCopyHeaderFieldValue", referenced from: 
    -[SRWebSocket _checkHandshake:] in libPusher-combined.a(SRWebSocket.o) 
"_CFHTTPMessageAppendBytes", referenced from: 
    ___30-[SRWebSocket _readHTTPHeader]_block_invoke_0 in libPusher-combined.a(SRWebSocket.o) 
ld: symbol(s) not found for architecture armv7 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Wenn Sie mehr Informationen benötigen, nur frage ich hoffe, dass ich nicht zu viel Mühe gebe Dank im Voraus...

Antwort

4

Können Sie in Ihrer Ziel-> Build-Phase überprüfen, ob diese Dateien dort vorhanden sind oder nicht, und wenn Sie für den Simulator ausgeführt werden, dann müssen Sie zuerst einen Build erstellen Simulator dieser Bibliothek, was auch immer ich denke, Sie verwenden SRWebSocket Bibliothek. Öffnen Sie einfach dieses Projekt und erstellen Sie einfach einen Build für den Simulator. Kopieren Sie die Dateien aus dem Build-Ordner und fügen Sie sie dann Ihrem Projekt hinzu und machen Sie dasselbe für das Gerät, wenn Sie Ihre App auf dem Gerät ausführen.

+0

Lassen Sie mich wissen, wenn Sie noch ein Problem haben. :) –

+0

Nun, es hat funktioniert, und die Fehler sind weg, aber sie werden durch 13 Warnungen ersetzt. – chrisjr

+0

Hmmm, gut diese Warnung, ich schätze, Sie können lösen. oder sag uns einfach diese Warnungen, lass uns sehen, ob ich dir helfen kann. –

74

überprüfen, um sicherzustellen, enthalten Sie die folgenden Frameworks (via https://github.com/square/SocketRocket):

Rahmen Abhängigkeiten

Ihre .app gegen folgende Frameworks/dylibs verknüpft werden müssen

libicucore.dylib CFNetwork.framework Security.framework Foundation.framework

+2

lief darin eine Kokospalme für PonyDebugger ein. Lösung funktioniert. Vielen Dank! – nh32rg

+5

Diese Lösung sollte akzeptiert werden. – klefevre

+1

Ich habe gerade die erste libicucore.dylib hinzugefügt und das Problem behoben (Foundation.framework war schon da). – CodePlumber

2

In meinem Fall, wenn ich hinzugefügt SystemConfiguration.framework zum Projekt und Problem ging ... :-)

5

ich die kompletten SocketRocket Ordner in meine Anwendung für die Verwendung von Web-Sockets in meiner Anwendung und verknüpfen libicucore.dylib kopiert, CFNetwork.framework, Security.framework, Foundation.framework-Binärdateien mit meinem Projekt. Dadurch wurden alle meine Fehler und Warnungen entfernt.

27

Vergewissern Sie sich, dass Sie auch -licucore in "Other Linker Flags", in der Build-Einstellungen Registerkarte wie in der beigefügten Screenshot:

Other Linker Flags

+1

Danke. das war meine Lösung – shannoga

+1

Hilf mir auch. Nach dem Update auf Xcode 7 wurde dies aus irgendeinem Grund entfernt. –

+0

brilliant, vielen dank! – Cherniv

5

Für die neuesten sdk, sollten Sie hinzufügen:

libicucore.tbd 

seit libicucore.dylib nicht mehr vorhanden ist.

hoffe .tbd Erweiterung ist nicht für "zu löschen"?

Verwandte Themen