可能重复:
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.cx.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/

10-16 01:03