我正在编译一个内核模块并且意识到尽管我从git中检出了新内核并运行了make modules_prepare,但是include / linux / version.h并没有刷新。我也尝试删除include / linux / version.h,但是当我运行make modules_prepare时它不会重新生成。
知道怎样才能获得最新的version.h?
答案 0 :(得分:-1)
我将include / generated / uapi / linux / version.h复制到include / linux / version.h,这似乎有效。但是,我仍在寻找更正式的更新此文件的方法。
答案 1 :(得分:-1)
由于我不记得哪个内核版本,version.h
标题位于
include/generated/uapi/linux/version.h
因此,无论您要对此文件执行什么操作,请使用正确位置的文件。某些“旧”程序仍假定该文件位于include/linux/version.h
您可以添加到Makefile的新标题目录:
-I/path/to/kernel/src/include/generated/uapi/
因此,您的用户应用程序仍然使用#include <linux/version.h>
(我假设您正在使用gcc,可能在其他编译器上,该选项不是-I
)