一个头文件test.h
#ifndef TEST_H
#define TEST_H
void show(void);
#endif
一个show函数的实现show.c
#include "test.h"
void show(void)
{
printf("showing\n");
}
一个主函数main.c
#include
#include "test.h"
int main(void)
{
show();
return 0;
}
这三个文件存放在ubuntu的同一个目录下,执行 gcc -o main main.c,
有错误,main.c:(.text+0x19): undefined reference to `show'。
有点纳闷,该怎么破解,求指导!
.... 命令错了 gcc main.c show.c -o main
ubuntu gcc找头文件不是看你放在哪个目录,他会去/usr/include,你把头文件放那里,lib文件也就是链接库,放/usr/lib
include 只是声明, 你定义在show.c中,但是你不编译链接show.c ,你怎么能调用show.c 中的函数呢? 你这个问题跟include的规则无关