2012-12-19 53 views
2

我下載專用庫的集合從this link。當我點擊下載時,我得到所有的框架。所以這些只是頭文件而不是Xcode中提供的.framework文件。所以我通過常用的方法將它們鏈接到構建階段,在其中我將二進制鏈接與庫單擊+並從框架(在我的情況下爲首選項框架)中選擇頭文件。將這些文件添加到我的項目後,我嘗試從一個庫中創建一個對象,並嘗試調用它們的實例方法。當我嘗試執行這個程序時,我得到這個錯誤。無論我在設備還是模擬器上運行它,我都會得到它。在目標c中使用私有庫的正確方法?

Undefined symbols for architecture i386:
"_OBJC_CLASS_$_DevicePINController", referenced from: objc-class-ref in UAViewController.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

DevicePinController是一個私人的框架preferences.hI的一部分,我試圖使一個對象UA

編輯:我使用其他框架頭,比如藍牙試過,我得到這個錯誤所有。

編輯:我嘗試添加到項目中的整個框架,而不是把單獨的報頭files.Now誤差

d:框架沒有發現BluetoothManager 鐺:錯誤:連接器命令,退出代碼1失敗(使用-v看看調用)

回答

1

你需要實際構建了框架。你不能僅僅鏈接一個頭文件;這沒有意義。

嘗試增加在首文件夾中所有的.m文件爲編譯源代碼,並從鏈接二進制與圖書館刪除頭文件。

補充:我現在認識到這個答案是不正確。 OP試圖使用的文件不是庫,而是蘋果專用框架的頭文件。這裏有一個相關的答案:https://stackoverflow.com/a/13388225/893113

+0

有任何文件夾中沒有.m文件(框架)。有中所有文件夾的唯一的頭文件 – zzzzz

+0

你可以給我點擊鏈接,看看yourself.This錯誤浪費了我這麼多天 – zzzzz

+0

@losBoy沒有'.a'文件嗎? – 2012-12-19 08:52:27