簡體   English   中英

將 static 庫鏈接到 Xcode 中的 iOS 項目 4

[英]Linking a static library to an iOS project in Xcode 4

我有一個項目( AQGridView ),它編譯為 static 庫,但我似乎無法將它添加到我的項目中。

將項目拖到我的項目中會創建一個工作區,如果我嘗試從DerivedData目錄鏈接libAQGridView.a文件,它不會將其識別為庫。 我不確定我做錯了什么。

這是AQGridView項目。 有誰知道具體如何在 Xcode 4 項目中使用它?

我這樣做如下:

  1. 拖入 static 庫項目。 如果您在 Xcode 中打開了 static 庫項目,請立即關閉它。
  2. Select the main project in the project navigator (the project I'm adding the static library to) and in the editor, under the header TARGETS in the left-hand column, select my main project's target and navigate to the Build Phases tab.
  3. 單擊 Target Dependencies 的“+”並從添加的 static 庫項目中添加庫圖標目標依賴項。
  4. 單擊“將二進制文件與庫鏈接”的“+”,然后添加文件夾“工作區”下的庫圖標。
  5. 如果這是在 static 庫項目本身中鏈接標頭的方式,則可能還需要輸入 ZB50D5E661106D0ABE925AF3C2E6F7E7Z 搜索路徑以獲取 static 庫項目的標頭。

如果您在主項目的項目導航器中沒有看到 static 庫項目嵌套在主項目下,那么最可能的原因是 static 庫自己的 ZA3B5EBD8A1E9EBF44A3ZD 項目仍處於打開狀態。 退出 Xcode 並打開包含嵌套 static 庫項目的主項目,而不打開原始 static 庫項目本身,您應該會在主項目中看到它作為嵌套庫項目出現。

Xcode 菜單 > 視圖 > 實用工具 > 文件檢查器

Select static 庫文件,然后在“身份和類型”中將“文件類型”設置為“Mach-O object 代碼”。

在 finder 中找到 your.a 文件,並將其拖到您的項目中。

Select '將項目復制到目標組的文件夾(如果需要)',並將標題添加到項目中。

現在,XCode 4 應該會自動為您鏈接到該框架。

以下是庫在您的項目中的外觀:

工作區應該使這更容易,但我不知道他們會這樣做。 我這樣做的方式是創建一個工作區,添加我的主項目,添加我的庫項目。 然后 go 進入主項目的構建階段,並在“Link binary with libraries”部分添加庫並添加庫。 應該是所有必要的,至少這是我的閱讀,但事實並非如此。 我所做的是 go 進入 Xcode 首選項,然后到 Source Trees 窗格。 添加指向您的 static 庫頭文件的源代碼樹,然后將 go 添加回項目的構建設置,然后添加到 Header 並輸入源代碼樹“foo” .

這對我有用,雖然我不知道這是否是最好或最簡單的方法。

遵循 Apple 的文檔

簡單來說:

  1. 將您的目標與庫鏈接。
  2. 在目標的構建設置下將 -ObjC -ObjC到“其他 Linker 標志”( OTHER_LDFLAGS )。

此外,我需要將該庫添加到我的主項目的方案中,因為該庫在目標的依賴項中不可見。

哈雷的回答對我有用,還有一個補充:

  1. 檢查 static 庫項目的構建設置私有(或公共)標題文件夾路徑值並復制它。
  2. 將復制的值添加到客戶端項目構建設置Header 搜索路徑用戶 Header 搜索路徑,具體取決於您使用的包含指令

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM