I included:
#include <sched.h>
#define _GNU_SOURCE
Then in my code I have written (brief mention):
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;
}
But when I compile I find
undefined reference to 'CPU_ZERO'
undefined reference to 'CPU_SET'
How can I fix this problem?
You need to place
#define _GNU_SOURCE
at least before
#include <sched.h>
as the define steers what the file included shall provide.
More on this on the related man-page here.
Update:
To make sure everything is set as needed, place the #define
at the very beginning of your source files, that is before all #include
s.
Alternatively you can pass the #define
on GCC's command line by specifying the option
-D_GNU_SOURCE
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With