2016-09-22 161 views
4

我正在嘗試將我創建的靜態C庫鏈接到新的Xcode項目。要鏈接它,我也跟着下面的說明:在Xcode 7中鏈接靜態C庫?

1)導航到構建階段

2)展開鏈接的二進制文件庫

3)增加了 「其他」 庫,然後指定了有問題的.a文件。

不幸的是,該項目將不會編譯並引發以下錯誤:

ld: library not found for -ltxht 

我不知道本作的到底是什麼。該圖書館似乎在項目中看起來好像是一個項目文件,我無法找到任何跡象表明這有什麼問題。

我試着將它的位置設置爲在文件檢查器中使用絕對路徑,但這並沒有改變任何東西。

我也看到,在一些類似網上的帖子,不知怎的,提供完整路徑靜態庫可能有助於解決問題:

In reaction to your comment on Eduard Wirch' answer: you can also control static linking for this one library only, if you replace -lhdf5 by -l/full/path/to/libhdf5.a

this SO Post

但是,我不知道如何做到這一點?我已經進入構建設置,並沒有看到任何網頁的選項,但沒有太多下鏈接,似乎讓我做我想做的。

任何人都可以解釋如何正確地添加這個靜態C庫嗎?只是爲了您的信息,相對於庫的位置該項目的位置如下:

庫:/lib/libtxht/libtxht.a Xcode項目:/lib/libtxvm/myProject.xcodeproj

回答

4

如果這是一個外部靜態庫,你需要在Build Settings下將其存在的路徑添加到Library Search Paths。不是完整的路徑,只是它所在的目錄。

+0

謝謝!有效!但是,我似乎無法使用庫中的任何頭文件。爲什麼會這樣?我試過包括他們,但Xcode只是拋出了一個錯誤。通過終端將檔案鏈接到C文件,然後執行似乎在包含頭文件時工作正常。只是似乎無法在Xcode中完成。 – Micrified

+1

您需要調整「標題搜索路徑」以獲取lib包含文件的路徑。 –

+0

@MobileBen。也一樣,但不適合我的項目。我的圖書館是PayTabs SDK圖書館,以.a分機結尾 –