2011-04-30 103 views
0

所以,這不是一個非常複雜的問題,但是因爲在我需要您的建議之前我從未做過。如何將現有庫添加到我的iPhone項目

我有我的主項目,其中包括2個生成主項目使用靜態庫的子項目。 現在,我想爲我的項目添加一個Loggin框架,並且我希望能夠在我的主項目中以及在我的靜態庫中使用它。 正如你可以見證here,這不是很難,只需要包含3個文件。

但是,我不確定最好的辦法是什麼。 將這3個文件添加到每個項目中可能會導致符號重新定義。 僅僅添加到一個靜態庫是不夠的,除非我讓另一個依賴於它,這在邏輯上不是很正確。 我大概可以從這3個文件中創建另一個靜態庫項目,並使我的項目和我的另外2個子項目依賴於它,但感覺像是一種矯枉過正。

這裏最好的做法是什麼?

謝謝!

回答

1

將這些文件放在另一個單獨的庫或框架中將是我的要求。

你應該重新考慮一下,如果你確實需要在靜態庫中預編譯你的子項目(提供給你的優勢是什麼?他們真的是那麼大的重編譯它們,現在又是那麼麻煩?)。

一個包含所有東西的單個Xcode項目可能是一個更好的解決方案,而且我通常都喜歡這些日子。這樣,您也不必擔心缺少lib庫中的體系結構,或者使用編譯器版本編譯lib,並使用另一個主項目編譯lib,libs中的錯誤可以更容易地調試和跟蹤,等等......

+0

The原因是從來沒有節省編譯時間,把這些子項目放在1個主項目中就不會產生任何編譯開銷,除非文件被改變,否則它們不會再被編譯,並且如果它們改變它們(或靜態lib)將不得不重新編譯。糾正我如果我在這裏錯了,我想念一些東西。分離的主要原因是這兩個靜態庫在我的iPhone和我的Mac應用程序中都使用。 – Idan 2011-04-30 21:09:25

+0

此外,這是一個單獨的邏輯,可以應用於我可能擁有的任何未來項目。無論如何,這是一個恥辱,我將不得不爲這3個文件創建另一個靜態庫子項目。希望另一個建議會彈出。 – Idan 2011-04-30 21:10:17

+0

@Julio - 因爲有時你可能想要一個項目使用不同的編譯器設置到另一個。例如C++ 11 – MickyD 2012-06-18 07:26:33

相關問題