静态库中的重复符号

时间:2016-12-26 12:34:48

标签: c++ ios objective-c xcode linker

我正在尝试在XCode中为Simulator编译一个iOS项目,并添加了第三方静态库,我收到此链接器错误消息抱怨重复符号:

  

重复符号_OBJC_CLASS _ $ _ Utility in:       libUIExtensions.a(Utility.o)       /Users/Joe/Library/Developer/Xcode/DerivedData/PdfSampleProgram-cdoogvkqqrafetcvscffsrlgkvrr/Build/Intermediates/PdfSampleProgram.build/Debug-iphonesimulator/PdfSampleProgram.build/Objects-normal/i386/Utility.o

     

重复符号_OBJC_METACLASS _ $ _ Utility in:       libUIExtensions.a(Utility.o)       /Users/Joe/Library/Developer/Xcode/DerivedData/PdfSampleProgram-cdoogvkqqrafetcvscffsrlgkvrr/Build/Intermediates/PdfSampleProgram.build/Debug-iphonesimulator/PdfSampleProgram.build/Objects-normal/i386/Utility.o

     

ld:架构i386 clang的2个重复符号:错误:链接器   命令失败,退出代码为1(使用-v查看调用)

知道我能对项目做些什么吗?我只将静态库添加到项目中,静态库的头文件似乎没问题。我在项目设置中遗漏了什么吗?

还有另一个示例项目,它编译得很好,但我没有看到任何差异。

2 个答案:

答案 0 :(得分:0)

检查Build Phases > Compile Sources中的重复项。

答案 1 :(得分:0)

项目中必须有2个相同的文件。您应该在构建阶段检查库或编译源代码,或者通过finder检查项目文件。