gcc编译问题。。。

sundaygeek 2012-08-09 01:53:54
我有文件
apue.h ---主要是函数的声明
myerr.h ---主要是错误函数的声明
a.c ---主要是main函数
b.c --主要是主函数中的函数的具体实现

其中a.c包含apue.h,b.c包含apue.h,apue.h又包含myerr.h,

请问怎么用gcc编译啊,

用Makefile呢??

...全文
184 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
疯疯癫癫 2012-08-15
  • 打赏
  • 举报
回复
《跟我一起写makefile》
sundaygeek 2012-08-14
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

用makefile吧。,比较方便。

使用模版修改一下变量就可以了。
[/Quote]

请教怎么写Makefile
有没有什么网址学的。
Redshadows 2012-08-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

我没理解错的话

gcc -o main apue.h myerr.h a.c b.c

这样就可以了,文件少没必要makefile。
[/Quote]
2了。。gcc时头文件不用加进去。。
Lamb0145 2012-08-10
  • 打赏
  • 举报
回复
其实直接 gcc -o main a.c b.c 就可以了,你试下,默认不用加.h文件的。
Redshadows 2012-08-10
  • 打赏
  • 举报
回复
我没理解错的话

gcc -o main apue.h myerr.h a.c b.c

这样就可以了,文件少没必要makefile。
夏天__ 2012-08-09
  • 打赏
  • 举报
回复
用makefile吧。,比较方便。

使用模版修改一下变量就可以了。
sundaygeek 2012-08-09
  • 打赏
  • 举报
回复
不对。。。
还有点问题---multiple definition of 'err'

不过我改过来了,

OBJT = a.o b.o myerr.o

CC = gcc

all:a.o b.o myerr.o
$(CC) $(OBJT) -o main

a.o:a.c apue.h
$(CC) -c a.c

b.o:b.c apue.h
$(CC) -c b.c

myerr.o:myerr.c apue.h
$(CC) -c b.c

clean:
rm $(OBJT)

我把myerr.h改成了myerr.c
然后把apue.h中的include“myerr.h”删了。。。。ok!!
sundaygeek 2012-08-09
  • 打赏
  • 举报
回复
nice...谢了~~
疯疯癫癫 2012-08-09
  • 打赏
  • 举报
回复
Makefile的

OBJT = a.o b.o

CC = gcc

all:a.o b.o
$(CC) $(OBJT) -o main

a.o:a.c apue.h myerr.h
$(CC) -c a.c

b.o:b.c apue.h myerr.h
$(CC) -c b.c

clean:
rm $(OBJT)


也不知道写的对不对,楼主试试
疯疯癫癫 2012-08-09
  • 打赏
  • 举报
回复

gcc -c a.c apue.h myerr.h
gcc -c b.c apue.h myerr.h
gcc a.o b.o -o main

23,121

社区成员

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

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