2011-02-03 69 views
6

我已经加入了苹果可达文件到我的项目,我已经收到错误。我甚至没有将这些文件添加到我的任何类中,只将它们添加到我的项目中。我怎么可能已经得到这个错误?iPhone - 使用可达投掷重复的符号_OBJC_IVAR错误

当编译我收到以下错误:

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项目,所以我不知道它是否能以某种方式相冲突?

回答

8

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

0

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

如果这样做,你将不再需要在.M到#IMPORT“Reachability.h”。

+0

我这样做,我只是没有发布在这里。所以,即使在我的课程中没有包含任何可达性文件时,我仍然看到这个错误... – 2011-02-03 18:28:27

+0

“Reachability.h”是否导入其他地方? – fsaint 2011-02-03 18:29:38