"未定义的函数引用"错误

Tes*_*sla 9 c compiler-errors include

我在使用标头编译一些文件时遇到了一些麻烦.这是我的代码细分:

在file1.c

#include "header.h"
int main() {
    func1();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

file2.c中

#include "header.h"
void func1() {
    ... function implementation ...
}
Run Code Online (Sandbox Code Playgroud)

header.h

void func1();
Run Code Online (Sandbox Code Playgroud)


我得到的错误是:

在函数中'main':
未定义引用'func1'

注意:我只是简单地分析了我的3个文件的设置方式.我需要让这个与3个文件一起使用.我正在设置/包括一切吗?我需要使用这个设置,但我只是不确定file.c如何引用实际的实现func1().

aps*_*012 4

如果错误是对 的未定义引用func1()并且没有其他错误,那么我认为这是因为您header.h的项目中调用了两个文件,并且包含另一个副本而不是声明为 的副本func1()

我会检查您的项目的包含路径,并确保首先包含header.h您的声明。func1()