我使用自定義靜態框架來封裝我的模塊,比如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 _ $ _信號燈」。 那麼,如何解決這個問題?
謝謝!
你的xcode版本? – CReaTuS
這是xcode 4.3.3 – xicun
我解決了這個問題。這全是我的錯,這個錯誤只發生在版本中,因爲我用「缺省隱藏符號」編譯A是,所以其他人看不到所有符號A了。將它設置爲NO,一切都很好。 – xicun