c 调用同一目录下的其他文件中函数出错undefined reference to `hello'

第一个文件是hello.h,内容为voidhello();第二个文件是hello.c内容为#include"hello.h"voidhello(){printf("hel... 第一个文件是hello.h,
内容为void hello();
第二个文件是hello.c内容为
#include "hello.h"
void hello()
{
printf("hello world!");
}
第三个文件是main.c,
内容为
#include <stdio.h>
#include "hello.h"

int main()
{
hello();
}

编译出现错误undefined reference to `hello',求助
展开
 我来答
松甜恬0Je4ba
2011-05-20 · TA获得超过2.6万个赞
知道大有可为答主
回答量:7475
采纳率:100%
帮助的人:4154万
展开全部
Undefined reference to 错误:这类错误是在连接过程中出现的,可能有两种原因∶一是使用者自己定义的函数或者全局变量所在源代码文件,没有被编译、连接,或者干脆还没有定义,这需要使用者根据实际情况修改源程序,给出全局变量或者函数的定义体;二是未定义的符号是一个标准的库函数,在源程序中使用了该库函数,而连接过程中还没有给定相应的函数库的名称,或者是该档案库的目录名称有问题.
zadecn
2011-05-20 · 超过20用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:0
展开全部
没有具体的代码和编译设定,不好说.

感觉好像你只是把main.c加入到编译文件集中,没有包含hello.c文件,所以没有生成hello.c对应的目标文件,才出现了这个问题.
追问
/tmp/ccWBghFG.o: In function `main':
main.c:(.text+0x12): undefined reference to `hello'
collect2: ld returned 1 exit status
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
德昂当
2011-05-20 · TA获得超过2842个赞
知道大有可为答主
回答量:1074
采纳率:100%
帮助的人:872万
展开全部
用什么编译的,是建立的工程吗,还是只是单独的文件,没有建立工程,编译时要两个c文件一起编译。
追问
没建立工程  在linux下,用gcc编译的
追答
那就要 在编译时,输入两个文件的名字了
gcc main.c rhello.c
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NearBySky
2011-05-20
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
你用的什么编译器?在hello.h里面添加宏
#ifndef _HELLO_H
#define _HELLO_H
void hello(void);
#endif

在hello.c中添加头文件
#include <stdio.h>
#include "hello.h"
void hello()
{
printf("hello world!");
}
追问
在linux下,用gcc编译的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式