我遇到了一些问题,在使用头文件编译几个文件时。这里是我的代码概述:
file1.c
我遇到的错误是:
file1.c
#include "header.h"
int main() {
func1();
return 0;
}
file2.c
#include "header.h"
void func1() {
... function implementation ...
}
header.h
void func1();
我遇到的错误是:
在函数
'main'
中:
对于'func1'
的引用未定义
注意:我只是简单地解释了我的3个文件的设置方式。我需要让这个程序在这三个文件中工作。我已经正确设置/包含了所有内容吗?我需要使用这个设置,但我不确定如何让 file.c 引用实际的 func1() 实现。
gcc -o 程序名 file2.c file1.c
命令,请将其更改为gcc -o 程序名 file1.c file2.c
。顺序很重要。 - user529758-lnameoflib
)应该在使用其中符号的源文件之后指定,如果存在库间依赖关系,则库的顺序也很重要,或者必须使用分组选项(链接器然后进入循环组,直到满足所有引用或无法解决为止)。 - mity