可能重复:
What is a “translation unit” in C++
可能重复:
What is a "translation unit" in C++
身高:
void f();
x.c.:
void f(){}
主要c:
#include"x.h"
int main(){
f();
}
然后我使用:gcc-o a.out main.c
为什么它说f是一个未定义的符号?
最佳答案
这是一个链接器错误。您需要同时编译main.c
和x.c
,或者在不链接和链接结果对象文件的情况下单独编译它们。
例如:
gcc -o x.o -c x.c
gcc -o main.o -c main.c
gcc -o myexecutable main.o x.o
关于c - C中.h和.c文件之间的关系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5763527/