3

所以基本上我有两个我认为相互冲突的库。我对“图书馆搜索路径”键有以下设置:

"$(SRCROOT)/projectname/Release-iphone/lib"为我的一个图书馆和"$(SRCROOT)/projectname"另一个图书馆。

我在CorePlot我的项目中添加了一个库,但要使用它需要以下链接器标志-ObjC -all_load.

现在,当我添加其中一个或两个时,我会收到以下消息,并且我的项目将无法构建:

duplicate symbol _OBJC_CLASS_$_GTMHTTPFetcher in:
    /Users/user/Library/Developer/Xcode/DerivedData/projectname-chibchblpntaapfagqcohtkixhib/Build/Intermediates/projectname.build/Debug-iphoneos/projectname.build/Objects-normal/armv7/GTMHTTPFetcher.o
    /Users/user/Dropbox/Projectname/projectname/projectname/libGTLTouchStaticLib.a(GTMHTTPFetcher.o)
duplicate symbol _OBJC_METACLASS_$_GTMHTTPFetcher in:
    /Users/user/Library/Developer/Xcode/DerivedData/projectname-chibchblpntaapfagqcohtkixhib/Build/Intermediates/projectname.build/Debug-iphoneos/projectname.build/Objects-normal/armv7/GTMHTTPFetcher.o
    /Users/user/Dropbox/Projectname/projectname/projectname/libGTLTouchStaticLib.a(GTMHTTPFetcher.o)
ld: 176 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

问题出在 Google API 库上libGTLTouchStaticLib.a,但我不明白链接器标志如何影响它。

4

2 回答 2

2

看起来好像您已将源文件直接包含在您的项目中,并且具有指向库的链接。您应该选择其中一个(可能是库)。

于 2013-08-28T14:05:35.607 回答
0

螺丝 -all_load 是加载类别的黑客。没有它应该可以工作

于 2013-08-28T14:14:43.750 回答