如何在Xcode編譯靜態庫時自動導出.h頭文件?

在使用Xcode成功編譯一個靜態庫時,在對應的輸出目錄下有一個include目錄,但是其中沒有相關的.h頭文件。由於.h文件和 .cpp文件是在同一個目錄下,再加上文件數量較多,如果手動的將.h文件導出會是件很麻煩的事。本文是我在解決這個問題時的經驗,希望能幫助到大家。

工具/原料

Xcode 6.4

方法/步驟

選擇指定的項目和Target

如何在Xcode編譯靜態庫時自動導出.h頭文件

展開“Build Phases”下的“Copy Files”,點擊紅框3標註的+按鈕

如何在Xcode編譯靜態庫時自動導出.h頭文件

在紅框標註的輸入框中輸入:*.h

這是為了將項目中的.h文件篩選出來

如何在Xcode編譯靜態庫時自動導出.h頭文件

記得展開樹狀控件所有的節點,然後按Command + A全選.h頭文件,然後點擊啊“Add”按鈕

PS:如果不展開節點,那全選時會忽略那些沒有展開的節點中的文件

如何在Xcode編譯靜態庫時自動導出.h頭文件

選擇“Products”菜單下的“Build”編譯項目

如何在Xcode編譯靜態庫時自動導出.h頭文件

這個時候我們發現所有頭文件都在指定的目錄下

如何在Xcode編譯靜態庫時自動導出.h頭文件

僅僅將頭文件拷貝到一個目錄下是不夠的。實際上項目的目錄結構如下圖一樣,我們可能希望頭文件的輸出目錄結構跟項目中的目錄結構是一致的。如果需要這樣,那麼請繼續看下去

如何在Xcode編譯靜態庫時自動導出.h頭文件

在“Build Phases”中展開+按鈕,選擇“New Copy Files Phase...”

如何在Xcode編譯靜態庫時自動導出.h頭文件

在新的“Copy Files”中修改紅框標註的Subpath的值,此處只為了拷貝Data子目錄下的頭文件,所以它的值改成了:include/$(PRODUCT_NAME)/Data

如何在Xcode編譯靜態庫時自動導出.h頭文件

選擇Data目錄下的頭文件,點擊“Add”按鈕添加這些頭文件

如何在Xcode編譯靜態庫時自動導出.h頭文件

如何在Xcode編譯靜態庫時自動導出.h頭文件

重複步驟8,9,10,完成其餘目錄下頭文件的複製任務

如何在Xcode編譯靜態庫時自動導出.h頭文件

最後我們看到在輸出目錄下頭文件的目錄結構跟項目的目錄結構時一致的

如何在Xcode編譯靜態庫時自動導出.h頭文件

相關問題答案