2011-02-03 28 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