C 静态库头文件

C 静态库头文件,c,static-libraries,C,Static Libraries,我正在尝试导入一个基于层次矩阵(H2Lib)的静态库。该文件夹包含一个make文件,该文件将库文件、示例和测试编译为一个.a文件。我参考了在Linux中使用archiver命令行在C中创建和使用静态库的教程,但这并没有创建头文件,在编写教程时,我必须手动创建头文件。H2Lib有多个文件,手动为此创建头文件既困难又耗时。我不确定我是否遗漏了什么或者做错了什么;我对C语言中的库的概念是陌生的。有人能帮助我如何使用C语言中的库吗 注意:H2Lib的git存储库链接:您不应该自己编写头文件。在定义库的文

我正在尝试导入一个基于层次矩阵(H2Lib)的静态库。该文件夹包含一个make文件,该文件将库文件、示例和测试编译为一个.a文件。我参考了在Linux中使用archiver命令行在C中创建和使用静态库的教程,但这并没有创建头文件,在编写教程时,我必须手动创建头文件。H2Lib有多个文件,手动为此创建头文件既困难又耗时。我不确定我是否遗漏了什么或者做错了什么;我对C语言中的库的概念是陌生的。有人能帮助我如何使用C语言中的库吗


注意:H2Lib的git存储库链接:

您不应该自己编写头文件。在定义库的文件夹中,应该有一个包含多个.h文件(标题)的目录(通常称为include)

您需要做的是将它们包含到您的项目中。您可以通过将-I附加到包含标题的每个文件夹的路径,然后在源代码中写入#include“headername.h”来实现这一点

因此,如果标题位于dir/include中,则应执行以下操作:

gcc yourfiles.c <flags> output.o  -I dir/include 
gcc yourfiles.c output.o-I dir/include
头文件已经存在:
库/*.h
是否手动创建头文件?我没有回答这个问题。您创建了静态库*.a,并且希望ar命令将为您创建头文件。不,它不会为您创建头文件。您不需要创建头文件;使用H2Lib中的。使用
-I/path/to/H2Lib/Library
编译代码,然后只需
#包含
您需要的
.h
文件即可。