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
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.