Undefined symbols for architecture i386: "_OBJC_CLASS_$_ZipException", auf die dort verwiesen wird: Fehler
Ich bin mit ein paar '.o' Dateien in meinem Projekt und beim kompilieren zeigt es die folgende Fehlermeldung,
error:linker command failed with exit code 1 (use -v to see invocation)
Hatte ich geschrieben das Fehler-log unten
Ld /Users/deepak/Library/Developer/Xcode/DerivedData/app-bnwpvhpbrfdurbdgxucyddqyfosh/Build/Products/Debug-iphonesimulator/app.app/app normal i386
cd /Users/deepak/Workspace/iosDevelopement/PROJECTS/KML/app
setenv IPHONEOS_DEPLOYMENT_TARGET 4.3
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk -L/Users/deepak/Library/Developer/Xcode/DerivedData/app-bnwpvhpbrfdurbdgxucyddqyfosh/Build/Products/Debug-iphonesimulator -F/Users/deepak/Library/Developer/Xcode/DerivedData/app-bnwpvhpbrfdurbdgxucyddqyfosh/Build/Products/Debug-iphonesimulator -F/Users/deepak/Workspace/iosDevelopement/PROJECTS/KML/app -filelist /Users/deepak/Library/Developer/Xcode/DerivedData/app-bnwpvhpbrfdurbdgxucyddqyfosh/Build/Intermediates/app.build/Debug-iphonesimulator/app.build/Objects-normal/i386/app.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=4.3 -lstdc++ -licucore -lz -framework MapKit -framework CoreLocation -framework QuartzCore -framework UIKit -framework Foundation -framework CoreGraphics -framework KML -o /Users/deepak/Library/Developer/Xcode/DerivedData/app-bnwpvhpbrfdurbdgxucyddqyfosh/Build/Products/Debug-iphonesimulator/app.app/app
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ZipException", referenced from:
objc-class-ref in ZipFile.o
objc-class-ref in ZipReadStream.o
objc-class-ref in ZipWriteStream.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Anfangs gab es mehr Fehler und lösen Sie diese durch importieren libs.dylib Rahmen,
aber immer noch 2 Fehler weiterhin besteht.
EDIT: ich hatte schon gegangen durch die beliebte Frage Undefined symbols for architecture i386: _OBJC_CLASS_$_SKPSMTPMessage", auf die dort verwiesen wird: Fehler ,aber die Lösung funktioniert nicht für mich
Weiß jemand, wo ich schief gegangen? Ich s, dass ein problem mit xcode, fehlende Bibliotheken oder Fehler in der Verlinkung etwas?
Vielen Dank im Voraus
use -v to see invocation
- do. Und zeige uns das Ergebnis.Sie können es hinzufügen, um die linker-flags (wenn Sie mit Xcode, gehen Sie zu Build-Phasen, es gibt einen Platz für das einfügen von zusätzliche linker-Optionen).
Können wir sehen, einige code - Fehler ist die Verwendung einer Objective C Klasse, die nicht möglich wäre, wenn Sie wurden schreiben von C wie pro Titel und Frage
InformationsquelleAutor D_D | 2013-01-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Fehlermeldung sagt, dass das undefined symbol verweist
ZipFile.o
,ZipReadStream.o
, undZipWriteStream.o
. Dies bedeutet, dass Sie versuchen, verwenden Sie die Ziel-Zip Bibliothek in Ihre app.Dem undefined symbol
_OBJC_CLASS_$_ZipException
. Der compiler erzeugt dieses symbol, wenn es sieht das@implemention ZipException
Richtlinie in einer Quellcode-Datei.Die Ziel-Zip-Bibliothek enthält eine Datei namens
ZipException.m
enthält die@implementation ZipException
Richtlinie.Die wahrscheinlichste Erklärung ist, dass Sie einfach noch nicht enthalten
ZipException.m
in Ihr Ziel. Überprüfen Sie, dass Sie so getan haben. Wenn Sie nicht wissen, wie, schauen Sie auf diese Antwort.Weitere mögliche Erklärung ist, dass Sie geändert haben
ZipException.m
Datei, vielleicht zufällig, in einer Weise, die entfernt die@implementation ZipException
Richtlinie oder blendet es aus dem compiler. Überprüfen, dass Sie nicht die Datei geändert wurde, und es enthält die@implementation ZipException
Richtlinie.Ich hatte die fehlende Umsetzung
Danke!!! Der name der Klasse nach dem "OBJC_CLASS_$" ist, was die Probleme verursachen Leute.
seltsamerweise ist mein Problem dieser Art gelöst wurde deaktiviert und wieder aktiviert die "Ziel-Mitgliedschaft" Kontrollkästchen für die "fehlende" .m-Datei. Etwas in Xcode einfach nur verrückt und es nicht die Datei, in der zu bauen, obwohl es zeigte sich als ausgewählt 🙂
xcode kurzerhand gelöscht 2 meiner Ziele, wenn ich durch ein NSManagedObject Subclass(!) Dies hat geholfen, die trigger eine Antwort für mich, vielen Dank!
InformationsquelleAutor rob mayoff
Die Lösung liefere ich klingt seltsam, und es dauerte eine Weile für mich, um tatsächlich versuchen, aber es hat den trick für mich. Dieser ist nur gültig, wenn Sie alle festen Rahmen verknüpfen Ausgabe. Das war der Fall für mich, aber ich war noch mit paar Mach-O Fehler.
Was ich Tat, war, entfernen Sie alle Bibliotheken aus dem verlinkten frameworks und Bibliotheken (in der Registerkarte "allgemein" iOSTarget) und dann kommt Sie zurück, indem Sie Sie einfach ziehen Sie Sie aus dem linken Bereich und der verknüpften Rahmenbedingungen und eine Bibliothek Platz.
InformationsquelleAutor GrandSteph