我遇到了以下错误,但是我却无法想出自己做错了什么。
现在,如果我将整个函数包含在头文件中而不仅仅是签名,它可以编译通过,所以我知道wtf.h已经被包含了。为什么编译器看不到wtf.c呢?还是我漏掉了什么?
问候。
$ 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呢?还是我漏掉了什么?
问候。