Makefile第四讲:include 引用其它makefile文件

简介: main.cpp #include "classes/fun.h" int main() { Test::display("Hello makefile"); return 0; } classes/fun.

main.cpp

#include "classes/fun.h"
int main() { Test::display("Hello makefile"); return 0; } 

classes/fun.h

#include <iostream>
using namespace std; class Test { public: void static display(const char *); }; 

classes/fun.cpp

#include "fun.h"
void Test::display(const char *str) { cout <<str <<endl; } 

classes/makefile

test.o:classes/fun.cpp
    g++ -c classes/fun.cpp -o test.o

makefile

test: test.o main.o
    g++ test.o main.o -o test

main.o:main.cpp g++ -c main.cpp -o main.o include classes/makefile clean: rm main.o test.o test 

include classes/makefile中的include关键字就是引用其它的makefile,值得注意的是,在被引用的makefile文件中的代码,它的路径是相对于引用的makefile文件的路径(注意到test.o:classes/fun.cpp),思考一下:我可以把include classes/makefile这句写在开头吗?答案当然是不能,至于为什么,在Makefile第一讲:一个简单的Makefile

目录
相关文章
|
10月前
|
敏捷开发 弹性计算 运维
微服务架构的优点有哪些?
微服务架构的优点有哪些?
529 61
|
9月前
|
供应链 搜索推荐 API
1688APP原数据API接口的开发、应用与收益(一篇文章全明白)
1688作为全球知名的B2B电商平台,通过开放的原数据API接口,为开发者提供了丰富的数据资源,涵盖商品信息、交易数据、店铺信息、物流信息和用户信息等。本文将深入探讨1688 APP原数据API接口的开发、应用及其带来的商业收益,包括提升流量、优化库存管理、增强用户体验等方面。
469 6
|
9月前
|
数据可视化 数据挖掘 BI
小预算大效率!5款免费在线项目管理工具帮你轻松上手
在快节奏的工作环境中,项目管理工具成为提高团队效率的必备利器。本文推荐5款免费且强大的在线项目管理工具,包括板栗看板、Trello、ClickUp、Asana和Monday.com,帮助小团队或初创公司在有限预算下实现高效管理。这些工具不仅支持任务分配、进度跟踪,还具备团队协作和数据可视化等功能,满足不同场景下的项目管理需求。
275 7
|
9月前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
173 5
|
11月前
|
监控 固态存储 算法
如何进行硬盘碎片整理?
【10月更文挑战第1天】如何进行硬盘碎片整理?
511 2
|
缓存 NoSQL Java
瑞吉外卖项目笔记+踩坑2——缓存、读写分离优化
缓存菜品、套餐数据、mysql主从复制实现读写分离、前后端分离
瑞吉外卖项目笔记+踩坑2——缓存、读写分离优化
|
12月前
|
监控 安全 网络安全
EAP:无线网络安全的强大卫士
EAP:无线网络安全的强大卫士
498 0
|
机器学习/深度学习 自然语言处理 数据安全/隐私保护
未来家居:智能语音助手的革新之路
【6月更文挑战第3天】本文将探讨智能语音助手在现代家居中的革命性角色,分析其如何重新定义我们的日常生活,以及面临的技术挑战和未来的发展趋势。
|
存储 数据管理 UED
在钉钉的审批系统中,审批单的状态主要有两种:"NEW"和"RUNNING"。
【2月更文挑战第19天】在钉钉的审批系统中,审批单的状态主要有两种:"NEW"和"RUNNING"。
463 5
|
存储 Java 关系型数据库
ShedLock的4种使用方式(分布式定时任务锁)
ShedLock的4种使用方式(分布式定时任务锁)
682 0