在核心工作时包括错误

时间:2016-12-14 06:19:40

标签: c linux hash include implementation

我正在实施Hash_Drbg。

原始源代码可在此处找到:https://github.com/torvalds/linux/blob/master/crypto/drbg.c

我已经取出了我实现所需的代码部分,并认为它在编译时应该可以工作。

当我编译时,我得到有关包含的错误。

例如:

fatal error: crypto/drbg.h: No such file or directory. 

这可以通过下载内核并修改源代码顶部的include来轻松解决。当我这样做时,我遇到drbg.h标题内的包含相同的错误。

例如:

fatal error: linux/scatterlist.h: No such file or directory. 

如何修复这些错误?

1 个答案:

答案 0 :(得分:0)

看起来你缺少Linux内核头文件,它允许你针对Linux内核编译代码。

你应该安装linux头文件。你正在使用哪种口味?请相应更改以下命令。

只在Ubuntu中安装标头:

$ sudo apt-get install linux-headers-$(uname -r)

在Ubuntu中安装整个Linux内核源代码:

$ sudo apt-get install linux-source

请注意,您应该使用与您正在运行的内核匹配的内核头文件。

然后您可以将其添加到Makefile中:

KDIR =//usr/src/linux-headers

all:
 $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules