iPhone - 使用Reachability抛出重复的符号_OBJC_IVAR错误

时间:2011-02-03 18:08:58

标签: iphone objective-c ios reachability

我已将Apple Reachability文件添加到我的项目中,但我已收到错误消息。我甚至没有将这些文件添加到我的任何类中,只是将它们添加到我的项目中。我怎么能得到这个错误?

编译时出现以下错误:

ld: duplicate symbol _OBJC_IVAR_$_Reachability.localWiFiRef in /Users/webmaster/Dropbox/iPhone-Development/Official-Projects/PUC/build/PUC.build/Debug-iphonesimulator/PUC.build/Objects-normal/i386/Reachability-B40F6D608A62C635.o and /Users/webmaster/Dropbox/iPhone-Development/Official-Projects/PUC/build/PUC.build/Debug-iphonesimulator/PUC.build/Objects-normal/i386/Reachability-823B59DA9A9B0D23.o
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1

注意:我正在使用Three20项目,所以我不确定它是否会以某种方式发生冲突?

2 个答案:

答案 0 :(得分:8)

所以,我明白了。我意识到,由于我使用的是ShareKit,它还包括Reachability,所以它在我的项目中两次,我只是没有意识到。

答案 1 :(得分:0)

你需要在你的.m中#import你的自定义类.h。否则#import“Reachability.h”会发生两次,我猜,在Reachability.h中定义了一个名为localWiFiRef的变量,现在是beind声明两次,因此出现“重复符号”错误。

这样做时,你不需要在.m中#import“Reachability.h”。