C语言 makefile问题

$^和$<区别在makefile中应用的问题我建了个Makefile的文件为什么makeMakefile没有反应my:main.osum.oadd.ogccmain.os... $^和$<区别 在makefile 中应用的问题 我建了个Makefile 的文件 为什么 make Makefile 没有反应
my:main.o sum.o add.o
gcc main.o sum.o add.o -o my
sum.o:sum.c
gcc sum.c -c
add.o:add.c
gcc add.c -c
main.o:main.c
gcc main.c -c
install:
cp my /usr/bin
clean:
rm -rf ./*.o
展开
 我来答
灵七
2012-01-27 · 超过13用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:15.9万
展开全部
不知道你的代码究竟是怎么写的,只好按照我自己的理解回答了,如果有疑问可以继续追问

一个工程有多个文件并不是说只要你把文件都建立好了(就像是用VC时候,新建一个工程,然后给工程新建一些文件),然后它们之间就自动有了逻辑上的联系,要通过代码告知程序它们之间怎么联系
一种方法是要完成一个大的项目时常用的
如果main.c中要使用sum.c和add.c中写的函数,可以另外建sum.h和add.h,在sum.h中使用extern声明sum.c中编写的函数,add.h中使用extern声明add.c中编写的函数,在main.c中加上#include "sum.h" #include "add.h” 。
(关于extern:在一个文件中定义了一个函数,这个函数没有用static修饰,也就是说可以被其它文件中的函数调用,这个时候在其他文件里需要使用这个函数的时候就需要用extern修饰)
(关于statci:在一个文件中用static声明的函数和变量只能在本文件中使用,不能被其它文件使用)
这种方式需要需要稍微修改一下
sum.o:sum.c sum.h
gcc sum.c -c
add.o:add.c add.h
gcc add.c -c
main.o:main.c sum.h add.h //main.c包含了sum.h和add.h
gcc main.c -c

另一种就直接在main.c中用extern声明sum.c和add.c中的函数。
你的Makefile如果是这种情况就应该可以使用了

如果工程比较大的话推荐用第一种
启帆信息
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!... 点击进入详情页
本回答由启帆信息提供
kewang_n
2012-01-27 · TA获得超过107个赞
知道答主
回答量:121
采纳率:0%
帮助的人:95.7万
展开全部
S<,规则的第一个依赖文件名,比如在你第一个规则中的main.o。
S^,规则的所有依赖文件列表,比如在你第一个规则中所有的依赖,*.o文件。
不运行的原因可能就多了,你的环境没问题吧,如果这样,你直接在当前目录敲make执行,makefile就会被读取执行,你的所有源文件也在当前目录吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式