2010-12-07 109 views
1

嘿傢伙, 我想創建一個獨立的C項目以獨立於機器。 一個例子?我想在沒有安裝外部庫(但包含在我的項目中)的計算機上「製作所有」我的項目,並且我希望所有人都繼續工作:) 我正在談論的庫是GSL,您可以在其中找到它libgsl0-dev ubuntu包。 現在,我想要在我的項目中包含所有的頭文件和.c文件,卸載軟件包,並且項目必須像以前一樣構建和運行:) 想法? 謝謝! 再見!使用外部庫創建一個自包含的項目

+0

你以後有什麼樣的想法?你似乎已經自己想出了這個策略。你堅持什麼? – 2010-12-07 10:05:51

回答

0

只需將庫的源代碼複製到項目的層次結構中,然後開始創建或修改Makefile(或任何GSL使用的)以使其生成。

例如,您可以將它放在目錄external/libgsl中,然後爲您的項目建立一個Makefile目標。然後你讓項目的代碼依賴於庫,這樣庫就總是先構建好。

當然,您還需要考慮分發項目時可能出現的任何許可證問題。

1

不要忘記依賴關係。

是有原因就像GSL庫分佈爲獨立的實體:

用戶可以independantly使用它節省您不必不斷更新你的項目時,GSL版本更改該軟件的升級庫。

許可問題。

依賴。如果GSL具有依賴性,並且您希望將GSL作爲項目的一部分構建,那麼您還需要包含所有依賴關係的源代碼...及其依賴關係...及其依賴關係......等等。如果您打算要求已經安裝一些子依賴項,那麼您可能需要安裝GSL。

其他原因我不能想象,因爲我有其他事情要做。

+0

由於該項目僅用於學習目的(大學考試項目),所以許可證並不是一個問題,但依存關係可能是一個問題。事實上,我認爲我會從2或3個效用函數寫出來,並將GSL留在抽屜裏:) – 2010-12-07 13:13:14

相關問題