Вы должны включить заголовки, которые объявляют функции, которые вы используете. Чтобы выяснить, какие заголовки вам нужны, вам нужно обратиться к документации по функциям. В функциях Posix лучшим источником является man
.
man pipe2
даст вам следующее:
PIPE(2) Linux Programmer’s Manual PIPE(2)
NAME
pipe, pipe2 - create pipe
SYNOPSIS
#include <unistd.h>
int pipe(int pipefd[2]);
#define _GNU_SOURCE
#include <unistd.h>
int pipe2(int pipefd[2], int flags);
Тут же, в Синопсисе, вы увидите необходимые заголовочные файлы.