Ios -Objc其他链接器标志给出重复符号错误

Ios -Objc其他链接器标志给出重复符号错误,ios,objective-c,xcode,Ios,Objective C,Xcode,我正在使用unra4ios.Framework。它工作正常,但当我添加-Objc其他链接器标志时。它给了我重复的错误 duplicate symbol __Z12CallbackProcjlll in: Library/Developer/Xcode/DerivedData/SARUnArchiveANY-fgljekydpkmvrlgapbahtfvvhsdl/Build/Intermediates/SARUnArchiveANY.build/Debug-iphonesimul

我正在使用
unra4ios.Framework
。它工作正常,但当我添加-Objc其他链接器标志时。它给了我重复的错误

    duplicate symbol __Z12CallbackProcjlll in:
    Library/Developer/Xcode/DerivedData/SARUnArchiveANY-fgljekydpkmvrlgapbahtfvvhsdl/Build/Intermediates/SARUnArchiveANY.build/Debug-iphonesimulator/SARUnArchiveANY.build/Objects-normal/x86_64/Unrar4iOS.o
    /My Project/SARUnArchiveANY-master/SARUnArchiveANY/vendor/Frameworks/Unrar4iOS.framework/Unrar4iOS(Unrar4iOS.o)
duplicate symbol _OBJC_IVAR_$_Unrar4iOS.header in:
    Library/Developer/Xcode/DerivedData/SARUnArchiveANY-fgljekydpkmvrlgapbahtfvvhsdl/Build/Intermediates/SARUnArchiveANY.build/Debug-iphonesimulator/SARUnArchiveANY.build/Objects-normal/x86_64/Unrar4iOS.o
    My Project/SARUnArchiveANY-master/SARUnArchiveANY/vendor/Frameworks/Unrar4iOS.framework/Unrar4iOS(Unrar4iOS.o)
duplicate symbol _OBJC_IVAR_$_Unrar4iOS.flags in:
    Library/Developer/Xcode/DerivedData/SARUnArchiveANY-fgljekydpkmvrlgapbahtfvvhsdl/Build/Intermediates/SARUnArchiveANY.build/Debug-iphonesimulator/SARUnArchiveANY.build/Objects-normal/x86_64/Unrar4iOS.o
    My Project/SARUnArchiveANY-master/SARUnArchiveANY/vendor/Frameworks/Unrar4iOS.framework/Unrar4iOS(Unrar4iOS.o)

我需要添加use Objc标志才能使用其他库。

如果指定-all_load或-Objc标志,并且静态库在项目中具有相同的类符号名称,则在链接时间内会看到这些“重复符号”错误

为什么?

此标志导致链接器加载库中定义Objective-C类或类别的每个对象文件。而此选项通常会导致较大的可执行文件(由于加载到应用程序中的其他对象代码),它将允许成功创建有效的Objective-C静态库,其中包含现有类上的类别。

来自苹果官方文件

现在,在您的项目中,unrr4ios.o中的3个符号已崩溃

例如,在您的第一个重复符号错误日志上,

__Z12CallbackProcjlll符号在中崩溃 (1) Library/Developer/Xcode/DerivedData/SARUnArchiveANY fgljekydpkmvrlgapbahtvvvhsdl/Build/Intermediates/SARUnArchiveANY.Build/Debug iphonesimulator/SARUnArchiveANY.Build/Objects normal/x86_64/unra4ios.o

(2) /My Project/SARUnArchiveANY master/SARUnArchiveANY/vendor/Frameworks/unrr4ios.framework/unrr4ios(unrr4ios.o)

第二个和第三个重复符号将采用相同的模式

duplicate symbol __Z12CallbackProcjlll in:
Library/Developer/Xcode/DerivedData/SARUnArchiveANY-fgljekydpkmvrlgapbahtfvvhsdl/Build/Intermediates/SARUnArchiveANY.build/Debug-iphonesimulator/SARUnArchiveANY.build/Objects-normal/x86_64/Unrar4iOS.o
/My Project/SARUnArchiveANY-master/SARUnArchiveANY/vendor/Frameworks/Unrar4iOS.framework/Unrar4iOS(Unrar4iOS.o)

duplicate symbol _OBJC_IVAR_$_Unrar4iOS.header in:
Library/Developer/Xcode/DerivedData/SARUnArchiveANY-fgljekydpkmvrlgapbahtfvvhsdl/Build/Intermediates/SARUnArchiveANY.build/Debug-iphonesimulator/SARUnArchiveANY.build/Objects-normal/x86_64/Unrar4iOS.o
My Project/SARUnArchiveANY-master/SARUnArchiveANY/vendor/Frameworks/Unrar4iOS.framework/Unrar4iOS(Unrar4iOS.o)

duplicate symbol _OBJC_IVAR_$_Unrar4iOS.flags in:
Library/Developer/Xcode/DerivedData/SARUnArchiveANY-fgljekydpkmvrlgapbahtfvvhsdl/Build/Intermediates/SARUnArchiveANY.build/Debug-iphonesimulator/SARUnArchiveANY.build/Objects-normal/x86_64/Unrar4iOS.o
My Project/SARUnArchiveANY-master/SARUnArchiveANY/vendor/Frameworks/Unrar4iOS.framework/Unrar4iOS(Unrar4iOS.o)
因此,为了总结您的项目症状,现在,在您的项目中,
unra4ios.framework和SARUnArchiveANY库在:unra4ios对象文件中使用三个重复的符号互相崩溃。

另外,下面是SARUnArchiveANY git存储库介绍。
它已指定SARUnArchiveANY库包含Unrar4iOS。

萨鲁纳政府

这是一个非常有用的库,用于为iOS解压.zip、.rar、.7z文件。 只是以下库的集成:

Unrar4iOS
SSZipArchive
LZMA SDK(7z)


为了解决这个问题,我推荐这个链接。



您可以解决这个问题,因为我以前已经解决了。

使用#import检查导入框架的代码。检查您是否正在导入.h或.m文件如果不起作用,请尝试再次删除和添加框架如果我删除链接器标志,请检查其工作是否正常您是否尝试删除框架并再次添加?是的次数