在linux下用gcc,在link过程中为什么会找不到函数?

netxuning 2006-11-14 10:08:53
my.c中有 fun()的实现
my.h中是fun()的声明
my.c中 #include "my.h"

main.c中
#include "my.h"

且三个文件在同一个目录下
按理说应该正常link到my.c中的fun()
可为什么不行呢?出现了:
/tmp/ccdZo721.o(.text+0x19): In function `main':
: undefined reference to `fun'
collect2: ld returned 1 exit status

怎么解决呢?谢谢
...全文
449 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hailongchang 2006-11-14
  • 打赏
  • 举报
回复
应该

gcc -c my.c

gcc my.o main.c

或者是:

gcc my.c main.c
mmqmjy 2006-11-14
  • 打赏
  • 举报
回复
估计是
yzx1983 2006-11-14
  • 打赏
  • 举报
回复
你是不是这样编译的:

gcc main.c

kinglake_hx123 2006-11-14
  • 打赏
  • 举报
回复
应该是楼上的 这个顺序对吧
yananfu2000 2006-11-14
  • 打赏
  • 举报
回复
gcc main.c my.c 就可以了
netxuning 2006-11-14
  • 打赏
  • 举报
回复
对啊,我就是这样编译的
gcc main.c

谢谢大家了
majinyi 2006-11-14
  • 打赏
  • 举报
回复
编译成*.o:gcc -c -o file.o -c -I{这个文件头所在的路径} file.c
gcc -c -o main.o -c main.c
LINK:
gcc -o [连接成可执行文件的名字] main.o fun.o

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧