每次编译时,我都会收到以下错误消息:
Undefined reference to ( function name )
假设我有三个文件:
Main.c
,printhello.h
,printhello.c
Main.c
调用函数print_hello()
,返回“Hello World”函数在printhello.c
中定义。下面是printhello.h的代码:
#ifndef PRINTHELLO_H
#define PRINTHELLO_H
void print_hello();
#endif
我相信这个密码是好的。但我还是不知道为什么会给我这个错误你能帮助我吗?
最佳答案
未定义的引用是链接器错误你正在编译和链接所有的源文件吗由于main.c调用print_hello()
,链接器应该看到它的定义。
gcc Main.c printhello.c -o a.out