⚙️ 多平台交叉编译自动化实战
📚 30章 · 从入门到前沿
01
交叉编译概述
什么是交叉编译
为什么需要
与本地编译区别
常见应用场景
02
工具链基础
GCC工具链
Binutils
glibc/uClibc
命名规则
03
搭建交叉编译环境
Linux安装
MSYS2/Mingw-w64
macOS环境
04
Makefile基础
语法入门
变量与函数
自动依赖
常见模板
05
CMake入门
基本语法
交叉编译配置
Toolchain文件
CMake Presets
06
Autotools使用
Autoconf
Automake
Libtool
--host/--build/--target
07
Meson构建系统
Meson简介
交叉编译文件
与Ninja配合
08
Python脚本基础
自动化角色
os/subprocess
shutil/pathlib
09
自动化编译脚本设计
架构设计
argparse
日志系统
错误处理
10
多平台配置管理
YAML/JSON
平台定义
参数化
模板引擎
11
Docker化编译环境
Dockerfile
多阶段构建
容器交叉编译
镜像管理
12
CI/CD集成
GitHub Actions
GitLab CI
Jenkins
缓存策略
13
ARM平台编译
ARM架构
ARM GCC
树莓派实战
Neon优化
14
AArch64(ARM64)编译
架构特点
ARM64工具链
x86_64主机编译
15
RISC-V平台编译
架构简介
工具链
QEMU模拟
生态现状
16
MIPS平台编译
架构概述
MIPS工具链
大小端
特有优化
17
x86_64与i386编译
架构兼容性
多库支持
32/64位混合
18
PowerPC平台编译
PowerPC架构
PPC工具链
嵌入式实战
19
Android NDK交叉编译
NDK环境
CMake与NDK
JNI接口
ABI管理
20
iOS交叉编译
Xcode工具链
armv7/arm64
Fat Binary
模拟器/真机
21
WebAssembly编译
Emscripten
WASM目标
C/C++到WASM
性能考量
22
静态库与动态库编译
.a/.so/.dylib
依赖管理
RPATH设置
23
第三方库交叉编译
OpenSSL
zlib
libpng
FFmpeg
24
依赖管理工具
vcpkg
Conan
spack
自定义Port
25
测试与验证
QEMU用户态
测试策略
单元测试框架
26
性能分析
性能分析工具
perf/gprof
平台差异分析
27
调试技巧
GDB交叉调试
gdbserver
core dump
远程调试
28
常见问题与解决方案
链接错误
运行时错误
ABI不兼容
路径/权限
29
项目实战
从零构建多平台
自动化脚本
发布与部署
30
未来趋势
LLVM/Clang
Bazel/Buck
云编译服务
统一构建系统