【问题标题】:Error message "undefined reference for `CPU_ZERO'"错误消息“‘CPU_ZERO’的未定义引用”
【发布时间】:2014-07-24 22:30:26
【问题描述】:

我包括:

#include <sched.h>

#define _GNU_SOURCE

然后在我写的代码中(简要提及):

cpu_set_t set; 

CPU_ZERO(&set); 
CPU_SET(proc_num, &set); 
if (sched_setaffinity(gettid(), sizeof(cpu_set_t), &set))
{
    perror("sched_setaffinity");
    return NULL;
}

但是当我编译时我发现

undefined reference to 'CPU_ZERO'

undefined reference to 'CPU_SET' 

我该如何解决这个问题?

【问题讨论】:

    标签: c linux pthreads


    【解决方案1】:

    你需要放置

    #define _GNU_SOURCE
    

    至少之前

    #include <sched.h>
    

    定义指导包含的文件应提供的内容。

    更多信息请访问the related man-page here


    更新

    为确保根据需要设置所有内容,请将#define 放在源文件的最开头,即所有#includes 之前。

    或者,您可以通过指定选项在 GCC 的命令行上传递 #define

    -D_GNU_SOURCE
    

    【讨论】:

    猜你喜欢
    • 2018-06-10
    • 1970-01-01
    • 2018-10-23
    • 2019-11-16
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    相关资源
    最近更新 更多