2013-01-22 26 views
0

我太多的這種靜態Libary東西在Xcode 4.X在Xcode靜態庫4

以下是我平時做的步驟..

1)爲了使靜態libary,我打開Xcode,new,static libary,然後在項目中添加一些類,然後構建階段 - >複製標題 - >在這裏逐個添加所有標題,然後在ios模擬器上運行時生成項目 - >靜態庫不會創建..(紅色) 在ios設備上運行時 - >靜態庫被創建..

2)使用圖書館.. 我做了一個新的項目,然後我「添加文件到項目」,還「複製如果需要」以下2個文件.. .a文件(iestatic庫) 文件夾包含庫文件的標頭

現在,當我嘗試導入一個頭文件在我的項目,沒有「建議」的出現......但我還是寫,並沒有給出錯誤「找不到頭文件」 ......

但是當我運行該項目時會出現如下錯誤:

ld:warning:忽略文件 /Users/Subo DH /庫/開發商/ Xcode中/ DerivedData/LibraryImporting_test-cbchzzjdcehzvfgwmzbvifrnrwgk /編譯/產品/調試-的iPhoneOS/libLibraryImporting_test.a, 文件是專爲存檔這是不被連接的架構 (I386): /用戶/蘇博德/圖書館/開發商/ Xcode中/ DerivedData/LibraryImporting_test-cbchzzjdcehzvfgwmzbvifrnrwgk /編譯/產品/調試-的iPhoneOS/libLibraryImporting_test.a

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

PLZ指導我....指出,如果得到錯誤的一些步驟...... .help plz 如果有人提到所有的步驟都會更好,就像我在製作圖書館和在項目中使用它一樣......這將是一個很大的幫助

回答

3

的關鍵問題是,這部分的錯誤消息:

文件歸檔建這是不被連接的架構 (I386)

已導入庫它的外觀爲iPhone設備(ARM)而構建,並且您正嘗試在i386的iPhone模擬器中使用它。

我會推薦使用Xcode Workspace,其中靜態庫項目是其中一個項目,iPhone應用程序是另一個項目。這樣Xcode將根據需要爲Debug/Release和Device/Simulator構建庫。

+0

好吧,先生...但是當我試圖建立iPhone模擬器庫...爲什麼它不是建立...即使在沒有錯誤後? 另外,在u建議的方法中,我可以通過導入它來使用在不同項目中的工作區中創建的靜態庫嗎? – Subbu

+1

在Xcode Workspace中包含靜態庫項目和應用程序項目,Xcode將使用正確的arch和調試/發佈設置來構建庫(一旦您告訴應用程序依賴於它)。目前你正在做的是用一個特定的拱形捕捉庫的*快照*。 – trojanfoe

+0

如果我想爲不同的應用程序使用相同的庫,那麼......? 像我們在互聯網上免費找到的圖書館...只是通過導入他們..工作完成.. – Subbu