免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
论坛 程序设计 C/C++ makefile
12下一页
最近访问板块 发新帖
查看: 2508 | 回复: 10
打印 上一主题 下一主题

[C] makefile [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-05 18:24 |只看该作者 |倒序浏览
这是我写的一个makefile
VPATH=../lib:../include:../bin

lib = ../lib/
bin = ../bin/

objects=bank.o adminlogin.o mainmenu.o execute.o deposit.o withdraw.o query.o \
        write.o read.o listall.o cancelaccount.o establishaccount.o

bank : $(objects)
         gcc  $(objects) -o $(bin)bank
bank.o : bank.c includeofbank.h includeofstruct.h
         gcc -c bank.c -o $(lib)bank.o

mainmenu.o : mainmenu.c includeofbank.h includeofstruct.h
         gcc -c mainmenu.c -o $(lib)mainmenu.o

adminlogin.o : adminlogin.c includeofbank.h includeofstruct.h
         gcc -c adminlogin.c -o $(lib)adminlongin.o

execute.o : execute.c includeofbank.h includeofstruct.h
         gcc -c execute.c -o $(lib)execute.o

write.o : write.c includeofbank.h includeofstruct.h
         gcc -c write.c -o $(lib)write.o

read.o : read.c includeofbank.h includeofstruct.h
         gcc -c read.c -o $(lib)read.o

deposit.o : deposit.c includeofbank.h includeofstruct.h
         gcc -c deposit.c -o $(lib)deposit.o

withdraw.o : withdraw.c includeofbank.h includeofstruct.h
         gcc -c withdraw.c -o $(lib)withdraw.o

cancelaccount.o : cancelaccount.c includeofbank.h includeofstruct.h
         gcc -c cancelaccount.c -o $(lib)cancelaccount.o

query.o : query.c includeofbank.h includeofstruct.h
         gcc -c query.c -o $(lib)query.o

listall.o : listall.c includeofbank.h includeofstruct.h
         gcc -c listall.c -o $(lib)listall.o
establishaccount.o : establishaccount.c includeofbank.h includeofstruct.h
         gcc -c establishaccount.c -o $(lib)establishaccount.c
clean:
        rm $(objects)
        rm $(bin)*

报错如下:

gcc  bank.o adminlogin.o mainmenu.o execute.o deposit.o withdraw.o query.o write.o read.o listall.o cancelaccount.o establishaccount.o -o ../bin/bank
gcc: bank.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: adminlogin.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: mainmenu.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: execute.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: deposit.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: withdraw.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: query.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: write.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: read.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: listall.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: cancelaccount.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: establishaccount.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: no input files
make: *** [bank] Error 1
乱码为:找不到文件或目录
../lib下有所需要的所有.o文件并且设置了VPATH,为什么还报错啊?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
2 [报告]
发表于 2008-08-05 19:45 |只看该作者
bank : $(objects)
         gcc  $(objects) -o $(bin)bank
写成
bank : $(objects)
         gcc  $^ -o $(bin)bank

论坛徽章:
0
3 [报告]
发表于 2008-08-05 21:11 |只看该作者

回复 #2 cjaizss 的帖子

gcc -c adminlogin.c -o ../lib/adminlongin.o
gcc -c establishaccount.c -o ../lib/establishaccount.c
gcc  ../lib/bank.o adminlogin.o ../lib/mainmenu.o ../lib/execute.o ../lib/deposit.o ../lib/withdraw.o ../lib/query.o ../lib/write.o ../lib/read.o ../lib/listall.o ../lib/cancelaccount.o establishaccount.o -o ../bin/bank
gcc: adminlogin.o: ûÓÐÄǸöÎļþ»òĿ¼
gcc: establishaccount.o: ûÓÐÄǸöÎļþ»òĿ¼
为什么改了还报这个错?

论坛徽章:
0
4 [报告]
发表于 2008-08-05 21:15 |只看该作者
大哥,你能不能搞英文出错信息出来,天书俺看不懂

论坛徽章:
0
5 [报告]
发表于 2008-08-05 21:20 |只看该作者
LANG=C

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2008-08-05 21:23 |只看该作者
原帖由 wangxiaoguang 于 2008-8-5 21:11 发表
gcc -c adminlogin.c -o ../lib/adminlongin.o
gcc -c establishaccount.c -o ../lib/establishaccount.c
gcc  ../lib/bank.o adminlogin.o ../lib/mainmenu.o ../lib/execute.o ../lib/deposit.o ../lib/wit ...

因为你都写错了,我来想办法给你整一整,wait a minute

论坛徽章:
0
7 [报告]
发表于 2008-08-05 21:24 |只看该作者
原帖由 cjaizss 于 2008-8-5 21:23 发表

因为你都写错了,我来想办法给你整一整,wait a minute

多了-o?

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
8 [报告]
发表于 2008-08-05 21:29 |只看该作者
比如这段:
bank.o : bank.c includeofbank.h includeofstruct.h
         gcc -c bank.c -o $(lib)bank.o
改成
bank.o : bank.c includeofbank.h includeofstruct.h
         gcc -c $< -o $(lib)bank.o
或者
bank.o : bank.c includeofbank.h includeofstruct.h
         gcc -c $(filter %.c,$^) -o $(lib)bank.o

论坛徽章:
0
9 [报告]
发表于 2008-08-06 07:22 |只看该作者

回复 #8 cjaizss 的帖子

gcc -c adminlogin.c -o ../lib/adminlongin.o
gcc -c establishaccount.c -o ../lib/establishaccount.c
gcc  ../lib/bank.o adminlogin.o ../lib/mainmenu.o ../lib/execute.o ../lib/deposit.o ../lib/withdraw.o ../lib/query.o ../lib/write.o ../lib/read.o ../lib/listall.o ../lib/cancelaccount.o establishaccount.o -o ../bin/bank
gcc: adminlogin.o: &Atilde;&raquo;&Oacute;&ETH;&Auml;&Ccedil;&cedil;&ouml;&Icirc;&Auml;&frac14;&thorn;&raquo;ò&Auml;&iquest;&Acirc;&frac14;
gcc: establishaccount.o: &Atilde;&raquo;&Oacute;&ETH;&Auml;&Ccedil;&cedil;&ouml;&Icirc;&Auml;&frac14;&thorn;&raquo;ò&Auml;&iquest;&Acirc;&frac14;
还是报这个错?
gcc  ../lib/bank.o adminlogin.o ../lib/mainmenu.o ../lib/execute.o ../lib/deposit.o ../lib/withdraw.o ../lib/query.o ../lib/write.o ../lib/read.o ../lib/listall.o ../lib/cancelaccount.o establishaccount.o -o ../bin/bank
就是执行这个命令的时候出的错,为什么 adminlogin.o和eatablishaccount.o前面没有自动加上../lib

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
10 [报告]
发表于 2008-08-06 12:49 |只看该作者
原帖由 wangxiaoguang 于 2008-8-6 07:22 发表
gcc -c adminlogin.c -o ../lib/adminlongin.o
gcc -c establishaccount.c -o ../lib/establishaccount.c
gcc  ../lib/bank.o adminlogin.o ../lib/mainmenu.o ../lib/execute.o ../lib/deposit.o ../lib/wit ...

我倒,你改了前面怎么不改后面?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP