Ошибка неопределенных символов при использовании файла заголовка

Я получаю следующую ошибку и не могу понять, что я делаю неправильно.

$ gcc main.c -o main

Undefined symbols:
  "_wtf", referenced from:
      _main in ccu2Qr2V.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

main.c:

#include <stdio.h>
#include "wtf.h"

main(){
    wtf();
}

wtf.h:

void wtf();

wtf.c:

void wtf(){
    printf("I never see the light of day.");
}

Теперь, если я включу в заголовочный файл всю функцию, а не только сигнатуру, она будет соответствовать, так что я знаю, что файл wtf.h включен. Почему компилятор не видит wtf.c? Или я что-то упустил?

С уважением.

Ответы на вопрос(2)

Ваш ответ на вопрос