c - 静态库头文件

标签 c static-libraries

我正在尝试导入一个基于层次矩阵 (H2Lib) 的静态库。该文件夹包含一个 make 文件,该文件将库文件、示例和测试编译成单个 .a 文件。我已经引用了有关在 Linux 中使用归档程序命令行在 C 中创建和使用静态库的教程,但这不会创建头文件,我必须在编写教程时手动创建头文件。 H2Lib 有多个文件,为此手动创建头文件既困难又耗时。我不确定我是在这里遗漏了什么还是做错了什么;我是 C 中库概念的新手。有人可以帮助我了解如何在 C 中使用这个库吗?

P.S:H2Lib 的 git 存储库链接:https://github.com/H2Lib/H2Lib/tree/master

最佳答案

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

您需要做的是将它们包含到您的项目中。为此,您可以将 -I 附加到包含 header 的每个文件夹的路径,然后在您的源代码中写入#include "headername.h"。

因此,如果 header 位于目录/include 中,您会这样做:

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

关于c - 静态库头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44336042/

相关文章:

c++ - 我需要什么工具链来交叉编译 Clang for iOS

c++ - 尝试在 Windows Phone 静态库项目 (C++) 中使用 Windows 运行时扩展

c++ - 对象构造函数的静态库 "Undefined Reference"

c++ - 静态库的链接器错误

c - 为什么链接程序需要 stdlib?

c++ - 非官方 OpenGL SDK 链接问题 - 未定义引用

c++ - Linux - 从不同位置编译 C++ 项目文件

C 客户端-代理-服务器文件传输仅发送文件的一部分

c - 函数接收字符数组作为参数并返回字符数组

c - C 中的多维 (2D) 数组