linux下编译找不到头文件

ycxahi 2010-11-05 03:10:40
我在同一个文件夹下写了个很简单的.h文件和实现.c文件
然后写了个main函数调用头文件的定义的函数
但是编译的时候就是找不到头文件啊
他们在同一个文件夹也找不到么?
...全文
507 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ak_kay 2010-11-05
  • 打赏
  • 举报
回复
不是这样定义.h文件的吧....
justkk 2010-11-05
  • 打赏
  • 举报
回复
没看出问题..
ycxahi 2010-11-05
  • 打赏
  • 举报
回复
真的哦
那就奇怪了
我再看看
好郁闷啊,学个简单的东西也不知道问题在哪里。。
steptodream 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 ycxahi 的回复:]

哦,但是那个上面是直接输入命令的啊
还是没回答为什么会这样报错呢
[/Quote]
在我这里就没问题 这是我编译的过程

[root@plesk testc]# ls
main.c sum.c sum.h
[root@CentOS testc]# gcc -c main.c
[root@CentOS testc]# gcc -c sum.c
[root@CentOS testc]# gcc -o mainexe main.o sum.o
[root@CentOS testc]# ./mainexe
i=5
ycxahi 2010-11-05
  • 打赏
  • 举报
回复
哦,但是那个上面是直接输入命令的啊
还是没回答为什么会这样报错呢
steptodream 2010-11-05
  • 打赏
  • 举报
回复
我都说 我说错了嘛

你这种多个c文件的 就应该用Makefile最好
ycxahi 2010-11-05
  • 打赏
  • 举报
回复
晕死,我虽然是刚入门
放一个文件夹还是知道的
主要是学习《linux下多文件编译技巧解析》时,按照上面说的去做的。
那个上面教怎么写makefile 文件
在此之前是用命令行编译的

原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/os/12/11584512.shtml
[Quote=引用 6 楼 steptodream 的回复:]
你说谎话把 这2个文件你没放到一个文件夹下吧。

另外你要编译可执行文件 不要加-c选项
[/Quote]

steptodream 2010-11-05
  • 打赏
  • 举报
回复
哦 我看错了 原来是3个文件啊 你这个不能直接用gcc -c main.c编译

直接gcc *.c
ycxahi 2010-11-05
  • 打赏
  • 举报
回复
都是一个文件夹啊
开始都说了的
steptodream 2010-11-05
  • 打赏
  • 举报
回复
你说谎话把 这2个文件你没放到一个文件夹下吧。

另外你要编译可执行文件 不要加-c选项
ma100 2010-11-05
  • 打赏
  • 举报
回复
他们不在一个文件夹下吧
ycxahi 2010-11-05
  • 打赏
  • 举报
回复
/* sum.h */
int sum(int a,int b);

/* sum.c */
#include "sum.h"
int sum(int a,int b)
{
return a+b;
}

/* main.c */
#include <stdio.h>
#include "sum.h"
int main()
{
int i;
i=sum(2,3);
printf("i=%d\n",i);
return 0;
}



命令输入:gcc -c main.c
报错,no sum.h..
小魔菇 2010-11-05
  • 打赏
  • 举报
回复
无码无真相
freetstar 2010-11-05
  • 打赏
  • 举报
回复
上吗?无码怎么看
steptodream 2010-11-05
  • 打赏
  • 举报
回复
贴源码 贴编译命令

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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