体系结构i386的未定义符号:"_ OBJC_CLASS _ $ _ ZipException",引用自:error

D_D*_*D_D 4 xcode cocoa-touch objective-c ios xcode4.5

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

error:linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)

我在下面发布了错误日志

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)
Run Code Online (Sandbox Code Playgroud)

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

但仍有2个错误仍然存​​在.

编辑:我已经经历了流行的问题未定义的架构i386符号:_OBJC_CLASS _ $ _ SKPSMTPMessage",引自:错误,但该解决方案对我不起作用

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

提前致谢

rob*_*off 38

该错误消息说,未定义的符号被引用ZipFile.o,ZipReadStream.oZipWriteStream.o.这意味着您正在尝试在应用中使用Objective-Zip库.

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

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

最可能的解释是,您根本没有包含ZipException.m在目标中.检查你是否已经这样做了.如果你不知道如何,看看这个答案.

另一种可能的解释是,您ZipException.m可能会以删除@implementation ZipException指令或将其隐藏在编译器中的方式意外修改文件.检查您是否未修改该文件,并且该文件包含该@implementation ZipException指令.

  • 但是我没有.m文件,它是一个库!我该怎么办? (2认同)
  • 我错过了实施 (2认同)