我正在使用RHEL5内核2.6.33并运行GCC v4.1.2。
在我的程序编译期间,我收到警告“函数CPU_ALLOC的隐式声明”和错误“未定义引用'CPU_ALLOC'。我得到CPU_ZERO_S,CPU_SET_S,CPU_FREE,numa_bitmask_alloc,numa_bitmask_setbit和numa_bitmask_free的相同警告和错误。
我知道CPU_ALLOC应该在sched.h中找到,但我搜索了几个sched.h(/usr/include/sched.h,/usr/include/bits/sched.h,/ usr / include / linux / sched.h,/ usr / src / kernel / linux-2.6.33.1 / include / linux / sched.h),找不到CPU_ALLOC。
我已经尝试了#include <sched.h>
和#include "/usr/include/sched.h"
,但我仍然有错误。
我在website找到了CPU_ALLOC和其他函数的声明。这是我的系统中应该有的文件吗?
如何使用CPU_ *和numa_bitmask_ *函数解决此问题?
谢谢。
此致 莱恩
答案 0 :(得分:3)
您需要在包含CPU_ALLOC的头文件中包含以下内容。
#define _GNU_SOURCE
#include <sched.h>