2017-06-02 185 views
1

我想導入基於分層矩陣(H2Lib)的靜態庫。該文件夾包含一個make文件,該文件將庫文件,示例和測試編譯到單個文件.a中。我已經提到了在Linux中使用archiver命令行在C中創建和使用靜態庫的教程,但是這不會創建頭文件,在創建教程時我不得不手動創建頭文件。 H2Lib具有多個文件,爲此手動創建頭文件將非常困難且耗時。我不確定我是否在這裏錯過了某些東西或做錯了什麼;我對C語言庫的概念不熟悉。有人可以幫我介紹如何在C語言中使用這個庫嗎?靜態庫頭文件

P.S:git倉庫鏈接H2Lib:https://github.com/H2Lib/H2Lib/tree/master

+2

頭文件:'庫/ * h' – Siguza

+0

手動創建的頭文件?我沒有按照這個問題。您創建了靜態庫* .a,並且您期望ar命令將爲您創建頭文件。不,它不會爲你創建頭文件。 – LethalProgrammer

+2

你不需要創建頭文件;使用H2Lib中的。用'-I/path/to/H2Lib/Library'編譯你的代碼,然後只需'#include'你需要的任何'.h'文件。 – 0x5453

回答

1

你不應該寫的頭文件自己。在定義庫的文件夾的某處,應該有一個包含多個.h文件(標題)的目錄(通常命名爲include)。

你需要做的是將它們包括到你的項目中。您可以通過將-I附加到包含標題的每個文件夾的路徑,然後在源代碼中編寫#include「headername.h」來完成此操作。

因此,如果頭是在DIR/include,您會怎麼做:已經存在

gcc yourfiles.c <flags> output.o -I dir/include 
+0

謝謝,它工作! –