使用标头编译一些文件时遇到了一些麻烦。以下是我的代码细分:
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个文件的设置方式。我需要让这个与3个文件一起使用。我正在设置/包括一切吗?我需要使用这个设置,但我只是不确定file.c如何引用func1()
的实际实现。
答案 0 :(得分:4)
如果错误是对func1()
,的未定义引用,并且没有其他错误,那么我认为这是因为您的项目中有两个名为header.h
的文件并且包含另一个副本而不是您的副本,声明为func1()
。
我会检查您项目的包含路径,并确保首先包含header.h
声明func1()
。