Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Undefined symbols for architecture i386: "_OBJC_CLASS_$_ZipException", referenced from: error

I'm using a few '.o' files in my project and while compiling it shows the following error,

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

I had posted the error log below

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)

Initially, there were more errors and solved them by importing libs.dylib framework,

but still 2 errors persists.

EDIT: I had already gone through the popular question Undefined symbols for architecture i386: _OBJC_CLASS_$_SKPSMTPMessage", referenced from: error ,but the solution doesn't work for me

Does anyone know where I had gone wrong? I s that a problem with xcode, any missing libraries or failure in linking something?

Thanks in advance

like image 542
DD_ Avatar asked Nov 28 '22 00:11

DD_


1 Answers

The error message says that the undefined symbol is referenced by ZipFile.o, ZipReadStream.o, and ZipWriteStream.o. This implies that you're trying to use the Objective-Zip library in your app.

The undefined symbol is _OBJC_CLASS_$_ZipException. The compiler generates this symbol when it sees the @implemention ZipException directive in a source file.

The Objective-Zip library includes a file named ZipException.m, which contains the @implementation ZipException directive.

The most likely explanation is that you simply haven't included ZipException.m in your target. Check that you have done so. If you don't know how, look at this answer.

Another possible explanation is that you have modified the ZipException.m file, perhaps accidentally, in a way that removes the @implementation ZipException directive or hides it from the compiler. Check that you have not modified the file, and that it contains the @implementation ZipException directive.

like image 115
rob mayoff Avatar answered Dec 04 '22 06:12

rob mayoff