2016-09-20 5 views
1

Lauf xcodebuild -target szapp kehrt:Befehlszeile Debug-Build-Projekt undefinierte Symbole für Architektur i386

CONFIGURATION_BUILD_DIR=$/Users/szmall/Documents/new12/trunk/head/ShiZu -configuration Debug build -sdk iphonesimulator9.2 ONLY_ACTIVE_ARCH=NO VALID_ARCHS='arm64 armv7s armv7 i386' 
build my project have this error: 
Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_QQApiAudioObject", referenced from: 
     objc-class-ref in libSocialQQ.a(UMSocialQQHandler.o) 
    "_OBJC_CLASS_$_QQApiImageObject", referenced from: 
     objc-class-ref in libSocialQQ.a(UMSocialQQHandler.o) 
    "_OBJC_CLASS_$_QQApiInterface", referenced from: 
     objc-class-ref in libSocialQQ.a(UMSocialQQHandler.o) 
    "_OBJC_CLASS_$_QQApiNewsObject", referenced from: 
     objc-class-ref in libSocialQQ.a(UMSocialQQHandler.o) 
    "_OBJC_CLASS_$_QQApiTextObject", referenced from: 
     objc-class-ref in libSocialQQ.a(UMSocialQQHandler.o) 
    "_OBJC_CLASS_$_QQApiVideoObject", referenced from: 
     objc-class-ref in libSocialQQ.a(UMSocialQQHandler.o) 
    "_OBJC_CLASS_$_SendMessageToQQReq", referenced from: 
     objc-class-ref in libSocialQQ.a(UMSocialQQHandler.o) 
    "_OBJC_CLASS_$_TencentOAuth", referenced from: 
     objc-class-ref in libSocialQQ.a(UMSocialQQHandler.o) 
ld: symbol(s) not found for architecture i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

aber libSocialQQ.a existieren auf Link-Binary mit Bibliotheken.

Und verwenden Sie xcode run mein Projekt kann Erfolg aufbauen. Bitte helfen Sie mir, Danke!

+0

Das Problem wurde gelöst. libSocialQQ.a enthält keinen Code für i386, aber Code für x86_64.So kann die folgende Befehlszeile verwenden: xcodebuild -target szapp CONFIGURATION_BUILD_DIR = $/Benutzer/szmall/Dokumente/new12/trunk/head/ShiZu-Konfiguration Debug-Build -sdk iphonesimulator9.2 ONLY_ACTIVE_ARCH = NEIN VALID_ARCHS = 'arm64 armv7s armv7 x86_64' – Gigi

Antwort

0

Entfernen Sie i386 von Build-Einstellungen Build -> Architekturen -> Gültige Architekturen, gibt es keine Notwendigkeit, sie anzugeben. Aber wenn Ihre Bibliothek keinen Code für i386 enthält - werden Sie Probleme haben, es auf älteren Simulatoren auszuführen.

BTW, können Sie unterstützte Architekturen mit Befehl lipo -info libSocialQQ.a überprüfen.

+0

Danke Anton Malyshev. libSocialQQ.a enthält keinen Code für i386. – Gigi

+0

aber warum kann es in xcode (7.2.1) Simulatoren laufen. – Gigi

+0

das hängt vom Simulator ab. Wenn Sie beispielsweise einen iPad Air oder einen iPhone 6 Simulator wählen, erstellt Xcode die App mit der x86_64-Architektur. –

Verwandte Themen