簡體   English   中英

如何使用項目而不是使用靜態庫來構建ZBar SDK?

[英]How to build ZBar SDK with the project instead of using the static library?

我正在使用ZBar SDK構建iOS代碼掃描程序項目。 我試圖直接從ZBar源構建我的項目,而不是包括libzbar.a靜態庫。

我已經下載了ZBar源代碼,其中包含用於構建libzbar.a的XCode項目。 我嘗試從項目中復制所有源文件,但它不起作用。 我繼續得到未定義的符號錯誤。

考慮到我只需要支持iOS,應該包含哪些源文件?

是否應嚴格遵循文件夾結構來構建項目?

如果我直接包含源文件,是否需要構建設置?

編輯:我遵循相同的文件夾結構和構建libzbar的XCode項目中使用的設置。 我已經設法構建了庫,但它在鏈接時仍然失敗。 我收到錯誤: ld: duplicate symbol _OBJC_METACLASS所有源文件的ld: duplicate symbol _OBJC_METACLASS 我已經進行了雙重檢查,項目中沒有對原始libzbar.a靜態庫的引用或者這些源文件不止一次出現。 如果我刪除它們的引用,項目構建正常,但只要引用庫中的任何符號,它就會失敗。 我想我還是錯過了什么!!

我終於解決了這個問題。 以下是我所做的步驟:

1)將項目的源文件復制到我的項目中。

2)從我的項目中刪除了libzbar.a的依賴項。

3)將包含源和標題的文件夾的路徑添加到項目的Header Search Paths構建設置中。

4)為項目添加了以下用戶定義的構建設置:

EXCLUDE_SOURCE_FILE_NAMES
GCC_MODEL_TUNING
預備
USE_HEADERMAP

您應該從源代碼創建自己的靜態庫,然后將輸出靜態庫添加到項目中,或者將項目鏈接在一起,並在構建項目之前強制構建靜態庫。

從默認的Mercurial存儲庫下載zip文件並在xCode中打開文件后,單擊目標選擇下拉框中的“EmbedReader”部分並切換到“zBarSDK”

一旦你切換到zBarSDK,只需從產品菜單構建,你應該有你的靜態庫文件....

之前我使用過ZXing lib並且集成得很好。 它作為一個項目包含在內,主項目具有目標依賴性,可以在主項目之前構建它。 我根據自己的需要編輯了它的來源,並且使用它沒有任何問題。

我用過這個教程 它也可以幫助您。

暫無
暫無

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

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