2012-01-03 71 views
1

我成功安裝了&鏈接了Kal日曆的靜態庫。然而,我很努力創建一個日曆對象,而不使用alloc在ARC環境下的自動釋放。我嘗試通過使用「-fno-objc-arc」的東西關閉ARC選項...但它給了我'蘋果Mach-O鏈接器(Id)錯誤'使用ARC創建KalViewController對象?

有沒有人成功地將它與ARC一起使用,故事情節? :'(

編輯:這是錯誤味精我

Ld的Test.app/Test正常的i386 CD /用戶/法瑞克斯/桌面/測試 SETENV MACOSX_DEPLOYMENT_TARGET 10.6 SETENV PATH「/開發/平臺/ iPhoneSimulator.platform/Developer/usr/bin:/ Developer/usr/bin:/ usr/bin:/ bin:/ usr/sbin:/ sbin「 /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang -arch i386 -isysroot /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk -L/Users/Phrixus/Desktop/Test -F/Users/Phrixus/Desktop/Test -filelist/Users /法瑞克斯/庫/開發商/ Xcode中/ DerivedData /試驗cwrxnjyllxlrlmczaymhzykteqlq /編譯/中間體/ Test.buil d/Debug-iphonesimulator/Test.build/Objects-normal/i386/Test.LinkFileList -mmacosx-version-min = 10.6 -Xlinker -objc_abi_version -Xlinker 2 -Objc -all_load -fobjc-arc -Xlinker -no_implicit_dylibs -D__IPHONE_OS_VERSION_MIN_REQUIRED = 50000 -framework UIKit的-framework基金會-framework CoreGraphics在-o爲i386硬件架構/Users/Phrixus/Desktop/Test/Test.app/Test

未定義的符號: 「_OBJC_CLASS _ $ _ KalViewController」,從引用: objc-類 - REF IN CalendarViewController.o LD:符號(多個)未找到i386硬件架構 鐺:錯誤:連接器命令,退出代碼1失敗(使用-v看調用)

+0

'Apple Mach-O Linker(Id)Error''是一個潛在的廣泛錯誤......構建日誌是否給出了比這更多的信息? – 2012-01-03 22:46:03

+0

我更新了我的問題。謝謝邁克爾。 – Raccoon 2012-01-03 22:55:46

回答

2

正如我懷疑,這是不是ARC問題。

您正在爲模擬器構建,但您嘗試鏈接的庫是針對該設備的。

要麼A)弄清楚如何構建和安裝模擬器兼容版本的KalViewController並鏈接它。

或B)

確保該庫是真正包含的。換句話說,是否檢查了libKal.a目標複選框?我爲你做了一些谷歌搜索和found somebody else who appears to have solved the same problem that you have

+0

哦,我的上帝!你絕對正確!它沒有被選中> :(。非常感謝你! – Raccoon 2012-01-03 23:14:07

0

我不認爲你必須包含libKal.a作爲靜態庫,如果安裝時遇到問題或者只是選擇不將它添加爲靜態庫。 您可以在您的項目中創建一個新組,並添加Kal(和Kal.bundle)中的所有.h和.m文件。 如果您使用的是ARC,將會出現編譯錯誤,但您可以在「Build Phases」下的「Compile Sources」併爲Kal文件添加選項-fno-objc-arc。 這種方式可以將ARC庫與ARC一起使用。