问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用makefile编译多个c文件

发布网友 发布时间:2022-05-02 07:15

我来回答

3个回答

热心网友 时间:2022-07-01 16:40

假设有下面几个c++文件:
wherewhen.h wherewhen.c
countdown.h countdown.c 包含了math.h, 需要连接库文件
main.c 主函数, main.c 包含了两个头文件 wherewhen.h and countdown.h
1、第一种编译方法:
g++ -Wall -g wherewhen.c countdown.c main.c -lm -o myprogram
生成可执行文件myprogram
2、第二中编译方法, 分别编译各个文件:
g++ -Wall -g -c wherewhen.c
g++ -Wall -g -c countdown.c
g++ -Wall -g -c main.c
g++ -g wherewhen.o countdown.o main.o -lm -o myprogram

热心网友 时间:2022-07-01 16:40

使用
.PHONY,
使用方法见下面描述或参考链接.
经过测试可行.
---------
phony
目标可以有依赖关系。当一个目录中有多个程序,将其放在一个makefile
中会更方便。因为缺省目标是makefile
中的第一个目标,通常将这个phony
目标叫做"all",其依赖文件为各个程序:
all
:
prog1
prog2
prog3
.PHONY
:
all
prog1
:
prog1.o
utils.o
cc
-o
prog1
prog1.o
utils.o
prog2
:
prog2.o
cc
-o
prog2
prog2.o
prog3
:
prog3.o
sort.o
utils.o
cc
-o
prog3
prog3.o
sort.o
utils.o
这样,使用"make"将可以将三个程序都生成了。d
当一个phony
目标是另一个的依赖,其作用相当于子程序,例如:
.PHONY:
cleanall
cleanobj
cleandiff
cleanall
:
cleanobj
cleandiff
rm
program
cleanobj
:
rm
*.o
cleandiff
:
rm
*.diff
----------
我测试的Makefile:
OBJS=main.o
sub.o
all
:
test
sam
.PHONY:all
test
:
$(OBJS)
gcc
-o
test
$(OBJS)
sam
:
sam.o
gcc
-o
sam
sam.o
main.o
:
main.c
sub.h
gcc
-c
main.c
sub.o
:
sub.c
sub.h
gcc
-c
sub.c
sam.o
:
sam.c
gcc
-c
sam.c

热心网友 时间:2022-07-01 16:41

用依赖,例如让all target依赖prog1 - prog3. 这样子make的时候就一起了。

#Makefile for building 3 programmings
all: prog1 prog2 prog3

prog1: 1.c
$(CC) $< -o $@

prog2: 2.c
$(CC) $< -o $@

prog3: 3.c
$(CC) $< -o $@

.PHONY: all
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 交互设计的“根”——七大定律 交互设计原则和理论2——七大定律 七大设计原则 附近的加油站有哪些 附近的加油站有哪些地方 设计好的单栋房屋平面设计图 linux c 多文件编译 湖北中国地质大学 关于南京六合区房价问题!!! 想在六合区买二手房怎么才能买到自己合适的房子 中国地质大学录取分数线是多少 怎么通过微信转账单号知道别人联系方式或! 南京市六合区,我们已经离婚,对方在六合龙池买了三十多平方房子,她可以迁进_百度问一问 微信支付后用账单能要到对方的联系方式或吗? 南京买房,溧水,六合,那里房子有投资价值 南京东郊小镇和六合的房子哪个升值空间大? 劳务派遣员工在用工单位连续工作超10年,可以与用工单位签无固定合同吗? 劳务派遣工国企国企试用期满合格后转正在签订合同是和用工单位签吗? 采购合同中的知识产权条款,按照供应商的责任从大到小如何排序? 劳动合同,采购合同,生产合同,销售合同中的知识产权条款分别可以有哪些? 微信二百多好友,就她一个人的头像是空白,是什么情况 女生用空白的头像什么意思。 小米恢复出厂设置后电视画面倒置了怎么办? 杂牌电视机图像倒了怎么调? 黄梅戏的简介不超过一百字 求设计好的单栋房屋平面设计图 高分求房屋建筑设计图!!! 想要一张120平米房子平面设计图,要求一室一厅一卫 滴滴顺风车司机接完我的订单后说不来接我了,让我取消订单,我还没来得及取消呢,他就点结束行程了,提 滴滴顺风车,我们都上车了,司机要我取消订单,我没同意。然后他取消了,如果 在打顺风车的时候遇到了车主让我取消订单私下交易的情况,我该怎么办? 兰陵县疫情特殊人群怎么填 windows10系统怎样把360浏览器创建到桌面上? 成人高考加分是怎么加的? 专升本加分条件25岁从什么时候算起 给三年级以上小学生买什么礼物好呢 有什么好看的新加坡电视剧,网址 成考有加分条件吗? 盘点哪里能看新加坡电视剧的网站,【免费高清】在线观看百度网盘资源 成人高考满25岁可不可以加分吗 各位大哥大姐们什么网站是能观赏新加坡电视剧的? 读三年级的小男孩送什么礼物好??? 急急急急!!! 我是受加分政策的人,网上成考查询的成绩,是加上分的总分吗? 跪求新加坡电视剧在线观看完整版免费,【免费高清】在线观看百度网盘资源 给三年级的小女孩送什么礼物好呢?