cc -O2 -pipe -pthread -Wall -Wextra -Werror=implicit-function-declaration time/timer_create.c -o time/timer_create -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lpthread time/timer_create.c:12:19: error: use of undeclared identifier 'SIGEV_SIGNAL' .sigev_notify = SIGEV_SIGNAL, ^ time/timer_create.c:10:18: error: variable has incomplete type 'struct sigevent' struct sigevent event = ^ time/timer_create.c:10:9: note: forward declaration of 'struct sigevent' struct sigevent event = ^ time/timer_create.c:17:7: error: call to undeclared function 'timer_create'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] if ( timer_create(CLOCK_MONOTONIC, &event, &timer) < 0 ) ^ 3 errors generated.