VIP20
本课程属于:006-Makefile构建 编程基础与工程化 · 共 20 门相关课程,组合学习更完整。
查看所属VIP全部课程 →
← 返回所属目录 咨询 / 购买

Makefile库链接与依赖管理实战

📚 共计 30 章节
01
Makefile入门
什么是Makefile · 为什么需要 · 与编译工具链的关系 · 第一个Hello World
基础入门
02
Makefile基本语法
规则结构 · 目标与依赖 · 命令书写 · Tab陷阱 · 注释写法
语法核心
03
变量与赋值
定义与引用 · = := ?= += 区别 · 作用域 · 环境变量
变量赋值
04
自动变量与模式规则
$@ $< $^ $? · % 模式匹配 · 静态模式规则
自动变量模式
05
隐式规则与后缀规则
C编译隐式规则 · 取消隐式规则 · 旧式后缀与新式模式
隐式规则兼容
06
函数的使用
字符串处理 · 文件名函数 · foreach if call shell
函数字符串
07
条件判断
ifeq ifneq ifdef ifndef · 嵌套 · 与变量结合
条件逻辑
08
文件包含与Makefile嵌套
include · -include · 递归调用 · 子目录构建
模块化嵌套
09
伪目标与强制目标
.PHONY · all clean install distclean · 强制目标
伪目标清理
10
静态库的创建与链接
ar命令 · 静态库生成 · 链接静态库 · 依赖管理
静态库ar
11
共享库(动态库)的创建与链接
gcc -shared -fPIC · 动态库生成 · ldconfig · LD_LIBRARY_PATH
动态库链接
12
库的搜索路径
-L -l · LIBRARY_PATH · LD_LIBRARY_PATH · pkg-config
路径搜索
13
头文件依赖管理
gcc -MM -MD · .d文件生成与包含 · 依赖清理
依赖头文件
14
大型项目目录结构设计
src include lib build bin · 模块化 · 顶层设计
架构目录
15
多目录Makefile实战
子目录Makefile · 顶层调用 · 变量传递与导出
多目录实战
16
Makefile中的shell命令与脚本
$(shell) · 逐行执行 · 错误处理 · @ - 前缀
shell脚本
17
并行编译与性能优化
make -j · .NOTPARALLEL · 依赖问题 · ccache
并行优化
18
Makefile调试技巧
make -n -p · info/warning/error · $(warning)调试
调试诊断
19
Makefile与Git版本控制
.gitignore · 版本号自动生成 · git describe
Git版本
20
交叉编译与工具链切换
CC CXX AR LD覆盖 · sysroot · 交叉编译模板
交叉编译工具链
21
Makefile中的安装与卸载
DESTDIR prefix · install命令 · 卸载目标
安装卸载
22
Makefile生成文档
doxygen集成 · 文档生成目标 · 文档清理
文档doxygen
23
Makefile与测试框架
test目标 · 单元测试编译运行 · 测试报告
测试单元测试
24
Makefile中的代码覆盖率
gcov lcov · 覆盖率目标 · 覆盖率报告
覆盖率gcov
25
Makefile与Docker集成
Dockerfile编写 · Makefile调用Docker · 容器内编译
Docker容器
26
Makefile与CI/CD
GitLab CI · GitHub Actions · 缓存策略
CI/CD自动化
27
CMake与Makefile的关系
CMake生成Makefile · CMakeLists.txt · 库管理
CMake生成
28
Autotools与Makefile
autoconf/automake · configure脚本 · 配合Makefile
Autotoolsconfigure
29
Makefile性能分析
编译时间统计 · make --debug · 优化构建速度
性能分析
30
综合实战:构建完整C++项目
需求分析 · 目录结构 · 库链接 · 依赖管理 · 安装测试
实战C++完整