链接器错误Unrar4iOS框架
问题描述:
我已经添加了Unrar4iOS框架并获得了低于链接器错误。 如何解决这个问题?链接器错误Unrar4iOS框架
duplicate symbol __Z12CallbackProcjlll in:
/Users/dmitryvlasenko/Library/Developer/Xcode/DerivedData/UnrealReader-cpvucqqjfnkeppcasgjdrwasaryu/Build/Intermediates/UnrealReader.build/Debug-iphonesimulator/UnrealReader.build/Objects-normal/i386/Unrar4iOS.o
/Users/dmitryvlasenko/Desktop/UnrealReader/Unrar4iOS.framework/Unrar4iOS(Unrar4iOS.o)
duplicate symbol _OBJC_IVAR_$_Unrar4iOS.header in:
/Users/dmitryvlasenko/Desktop/UnrealReader/Unrar4iOS.framework/Unrar4iOS(Unrar4iOS.o)
duplicate symbol _OBJC_IVAR_$_Unrar4iOS._rarFile in:
/Users/dmitryvlasenko/Library/Developer/Xcode/DerivedData/UnrealReader-cpvucqqjfnkeppcasgjdrwasaryu/Build/Intermediates/UnrealReader.build/Debug-iphonesimulator/UnrealReader.build/Objects-normal/i386/Unrar4iOS.o
/Users/dmitryvlasenko/Desktop/UnrealReader/Unrar4iOS.framework/Unrar4iOS(Unrar4iOS.o)
duplicate symbol _OBJC_IVAR_$_Unrar4iOS.filename in:
/Users/dmitryvlasenko/Desktop/UnrealReader/Unrar4iOS.framework/Unrar4iOS(RARExtractException.o)
duplicate symbol _OBJC_EHTYPE_$_RARExtractException in:
/Users/dmitryvlasenko/Library/Developer/Xcode/DerivedData/UnrealReader-cpvucqqjfnkeppcasgjdrwasaryu/Build/Intermediates/UnrealReader.build/Debug-iphonesimulator/UnrealReader.build/Objects-normal/i386/RARExtractException.o
/Users/dmitryvlasenko/Desktop/UnrealReader/Unrar4iOS.framework/Unrar4iOS(RARExtractException.o)
ld: 12 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
答
该错误表明Unrar4iOS既在Unrar4iOS.a中定义,也作为项目中的单个文件定义。 因此,请前往:
TargetSettings-> Build Phases->与库链接二进制文件并删除Unrar4iOS。
答
看来你已经添加了相同的库两次这就是为什么它说:“重复的符号__Z12CallbackProcjlll”
答
的的unrar库是用C++编写。如果您的项目中没有任何.mm文件,那么Xcode不会链接到C++标准库,并且所有对C++的引用都无法链接。