码上见真晓
2017-01-13 01:25
采纳率: 100%
浏览 841

c基础:linux文件包含问题

一个头文件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'。
有点纳闷,该怎么破解,求指导!

  • 收藏

3条回答 默认 最新

  • Devin_la 2017-01-13 06:48
    已采纳

    .... 命令错了 gcc main.c show.c -o main

    已采纳该答案
    打赏 评论
  • Z_yichen 2017-01-13 01:26

    ubuntu gcc找头文件不是看你放在哪个目录,他会去/usr/include,你把头文件放那里,lib文件也就是链接库,放/usr/lib

    打赏 评论
  • Devin_la 2017-01-13 06:50

    include 只是声明, 你定义在show.c中,但是你不编译链接show.c ,你怎么能调用show.c 中的函数呢? 你这个问题跟include的规则无关

    打赏 评论

相关推荐 更多相似问题