c - 链接 md5.h 库以实现 HTTP Digest 示例

标签 c gcc

我正在努力从 RFC 2617 编译一个简单的 C 程序。该程序是digtest.c它使用 digcalc.c ,示例实现中的另一个文件。后一个依赖于我的编译器不知道的两个文件:

#include <global.h>
#include <md5.h>

一开始我得到了这个错误:

digcalc.c:5:20: fatal error: global.h: No such file or directory

我通过更改 <global.h> 解决了这个问题至<stddef.h> , 它似乎。但我仍然收到此错误:

digcalc.c:7:17: fatal error: md5.h: No such file or directory

现在,md5.h 似乎引用了 libbsd 中找到的文件。 。所以我安装了libbsd-dev并尝试编译这样的文件:

gcc digcalc.c digtest.c -o digtest -L/usr/lib/x86_64-linux-gnu -lbsd

哪里/usr/lib/x86_64-linux-gnu是 libbsd.so 和 libbsd.a 文件的位置。但是,这并不能解决最后一个编译错误。

有人能指出我在这里缺少什么吗?

最佳答案

想通了。不得不改变<md5.h><bsd/md5.h> ,如 libbsd 中所述页。

因此,而不是 digcalc.c 中的原始 header :

#include <global.h>
#include <md5.h>

我用过:

#include <stddef.h>
#include <bsd/md5.h>

还必须更改功能stricmpstrcasecmp ,其 POSIX 等效项。之后示例代码就可以无缝编译。

关于c - 链接 md5.h 库以实现 HTTP Digest 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50235630/

相关文章:

python - 用 Python 写入 IC

c 宏重复参数

java - 将 gcc 编译状态保存到 Java 的文本文件

c - GCC:使用 -Wcast-qual 将 const 指针转换为数组 typedef 的 const 指针会抛出警告

c - C 中的数组大小

类型转换功能

c - 如何将另一个 c 文件的输出作为输入?

c - 宏作为另一个宏的参数

c - 为什么 x[i]=if 比 if... x[i]= 快

c - scanf ("%c", x) 和 x=getchar 都没有等待输入