Cabeçalhos declare funções, são bibliotecas que definem elas.
Normalmente, você precisaria adicionar bibliotecas para serem vinculadas explicitamente na linha de comando gcc , por exemplo, gcc -o prog prog.c -lm para a biblioteca de matemática libm . No entanto, a biblioteca pthread é um caso especial - ela é vinculada por um sinalizador de compilador especial -pthread :
gcc -pthread example.c
De man gcc
-pthread
Adds support for multithreading with the pthreads library. This
option sets flags for both the preprocessor and linker.