2012-08-22 44 views
3

我使用自定義靜態框架來封裝我的模塊,比如A,B,C ...,而A是基礎層,所以B取決於A,他們都在A中使用一個名爲「Semaphore」的符號。iOS和Xcode:自定義框架鏈接錯誤,未定義符號

現在我將A,B,C添加到我的應用程序「DemoX」中,DemoX只在連接時使用B & C時出現錯誤。

更改:DemoX依賴於直接使用A的靜態庫「libM」。

Undefined symbols for architecture i386: 

"_OBJC_CLASS_$_Semaphore", referenced from: 
     objc-class-ref in libM.a 
     objc-class-ref in B 
     objc-class-ref in C 
ld: symbol(s) not found for architecture i386 

其實,我用 「納米」 命令來顯示A中的符號,它有 「_OBJC_CLASS _ $ _信號燈」。 那麼,如何解決這個問題?

謝謝!

+0

你的xcode版本? – CReaTuS

+0

這是xcode 4.3.3 – xicun

+0

我解決了這個問題。這全是我的錯,這個錯誤只發生在版本中,因爲我用「缺省隱藏符號」編譯A是,所以其他人看不到所有符號A了。將它設置爲NO,一切都很好。 – xicun

回答

3

我解決了這個問題。

這都是我的錯,這個錯誤只發生在版本中,因爲我用「缺省隱藏符號」編譯A,所以其他人看不到所有符號A了。將它設置爲NO,一切都很好。

+0

謝謝!這也解決了我的問題。 – zanneth

相關問題