2012-09-18 41 views
0

我正在開發一個工作正常的應用程序,但是當我嘗試包含NinjaMyApp文件夾時(使用拖動&拖放),我得到重複的符號錯誤。NinjaMyApp:重複的符號

ld: duplicate symbol _OBJC_CLASS_$_InfoView in /Users/xyzpath/NinjaMyApp-v0.32/NinjaMyApp-v0.32/4mnow-1.32/4mnowLaunchPad/4mnowLaunchPad.a(InfoView.o) and /Users/xyzpath/NinjaMyApp-v0.32/NinjaMyApp-v0.32/4mnow-1.32/4mnowBasic/4mnowBasic.a(InfoView.o) for architecture i386 

在此先感謝。

+0

你有一個做你的應用中有'InfoView'類嗎? – Alexander

+0

不會。這是。文件 –

回答

2

我對你正在使用的靜態庫一無所知,但顯然其中有兩個對它們的類​​有重複名稱:LaunchPad.a和Basic.a。也許他們不是要一起使用?

+0

那麼該怎麼辦..?朋友..! –

+0

嗯....如果你不需要他們兩個,刪除其中的一個。 :-)如果您確實需要兩者,請與供應商聯繫以瞭解如何將它們一起使用。 –

+0

新錯誤:ld:重複符號_OBJC_IVAR _ $ _ JKArray.objects在/Users/xyz/path/NinjaMyApp-v0.32/4mnow-1.32/4mnowMain/4mnowMain.a(JSONKit.o)和/ Users/xyz/Library/Developer中/Xcode/DerivedData/ZombieRide-cuszmggqbayxrzgjxqisjjynjawh/Build/Intermediates/xyzpath/Objects-normal/i386/JSONKit.o對於體系結構i386 –

0

看起來你包括類InfoView兩次:在項目中搜索重複文件並將其刪除。您可以通過在項目導航搜索欄搜索的名稱做:

Xcode project navigation search bar

+0

將其存入.a文件 –

0

看起來你已經導入InfoView.m而不是.H

1

不要#包括或#進口。 m文件。只需將這些.m文件添加到Target |建立階段。 不要將.h文件添加到生成階段, ,而是在需要這些功能的任何地方使用#import .h文件。

編譯器知道這只是一個頭文件「僅供參考」,而職能的機構將可用時,它會編譯.m文件,並把他們都變成1個可執行

+0

如何從鏈接器錯誤中獲取「不包含或導入」.m文件。 –

+2

。錯誤中提到的.o文件是您的.m文件。 你也可以在你的項目中搜索那個重複的符號 –