当我ls /usr/src/linux-headers-4.10.0-38-generic/include/linux/sched
时,我得到以下结果:
deadline.h jobctl.h prio.h rt.h sysctl.h task.h
当我查看https://github.com/torvalds/linux/tree/master/include/linux/sched
时,显然有些文件丢失了现在我的项目中我想使用signal.h
文件,但它告诉我fatal error: linux/sched/signal.h: No such file or directory
我做错了什么?
答案 0 :(得分:1)
<linux/signal.h>
已移至4.11内核中的<linux/sched/signal.h>
,因此您需要有条件地包含一个或另一个,具体取决于内核版本:
#include <linux/version.h>
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,11,0)
#include <linux/signal.h>
#else
#include <linux/sched/signal.h>
#endif