我正在编译一个内核模块,并意识到尽管我从git签出了新内核并运行了make modules_prepare,但include/linux/version.h并未刷新。我还尝试删除include/linux/version.h,但在运行make modules_prepare时没有重新生成。
知道怎样才能得到最新的版本.h吗?
发布于 2014-06-10 13:32:52
我将include/generated/uapi/linux/version.h复制到include/linux/version.h中,这似乎是可行的。然而,我仍然在寻找更正式的方式来更新这个文件。
发布于 2014-06-10 22:10:44
因为我不记得是哪个内核版本了,所以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)
https://stackoverflow.com/questions/24133193
复制相似问题