架构i386的未定义符号:“_OBJC_CLASS _ $ _ ZipException”,引用自:error

我在我的项目中使用了几个'.o'文件,并在编译时显示以下错误,

error:linker command failed with exit code 1 (use -v to see invocation) 

我发布了下面的错误日志

 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) 

最初,有更多的错误,通过导入libs.dylib框架解决了这些错误,

但仍然存在2个错误。

编辑:我已经经历了stream行的问题未定义的符号体系结构i386:_OBJC_CLASS _ $ _ SKPSMTPMessage“,引用:错误 ,但解决scheme不适合我

有谁知道我哪里出了错? 我是一个Xcode的问题,任何缺less的库或链接失败的东西?

提前致谢

错误消息说,未定义的符号被ZipFile.oZipReadStream.oZipWriteStream.o 。 这意味着你正试图在你的应用程序中使用Objective-Zip库。

未定义的符号是_OBJC_CLASS_$_ZipException 。 编译器在源文件中看到@implemention ZipException指令时会生成此符号。

Objective-Zip库包含一个名为ZipException.m的文件,其中包含@implementation ZipException指令。

最可能的解释是你只是没有包含ZipException.m在你的目标。 检查你是否这样做。 如果你不知道如何,看看这个答案 。

另一个可能的解释是,您已经修改了ZipException.m文件,可能是意外删除了@implementation ZipException指令或将其从编译器中隐藏起来。 检查你没有修改文件,并且它包含@implementation ZipException指令。

我提供的解决scheme听起来很奇怪,我花了一段时间来尝试,但它为我做了窍门。 这只有在你解决了所有的框架链接问题时才有效。 我的情况是这样,但是我仍然留下了几个Mach-O错误。

我所做的是从链接的框架和库(在常规选项卡iOSTarget)中删除所有库,然后将它们从左窗格拖到链接的框架和库空间,然后将其添加回来。