第1章
链接错误概述
什么是链接错误 · 分类(未定义引用、重复定义、找不到库)· 常见原因
概念入门
第2章
编译与链接基础
预处理/编译/汇编 · 符号解析/重定位 · 静态链接 vs 动态链接
编译原理核心
第3章
GCC/G++链接器基础
-l -L -I -shared -static · 链接顺序 · 链接脚本简介
GCC选项
第4章
未定义引用错误
undefined reference · 原因/排查/实战案例
高频调试
第5章
重复定义错误
multiple definition · static/inline/头文件保护 · 实战
冲突解决
第6章
找不到库文件错误
cannot find -lxxx · ldconfig/pkg-config · 库路径/版本
库路径排查
第7章
符号隐藏与可见性
__attribute__((visibility)) · -fvisibility=hidden · 动态库导出
符号封装
第8章
静态库链接问题
创建/使用 · 链接顺序 · 混合链接 · 常见错误
静态库.a
第9章
动态库链接问题
创建/使用 · LD_LIBRARY_PATH/rpath · 版本管理
动态库.so
第10章
CMake链接错误排查
target_link_libraries · find_package · 变量传递 · 实战
CMake构建
第11章
Makefile链接错误排查
LDFLAGS/LDLIBS · 隐式/显式规则 · 调试技巧
Makefile传统
第12章
Windows平台链接错误 (MSVC)
/LIBPATH /DEFAULTLIB · .lib/.dll · 导出与导入
WindowsMSVC
第13章
Linux平台链接错误 (ELF)
ELF格式 · 符号表 · readelf/objdump
ELFLinux
第14章
macOS平台链接错误
.dylib / Framework · install_name_tool · 特有错误
macOS动态库
第15章
交叉编译链接错误
工具链配置 · sysroot · 库路径映射 · 常见问题
交叉编译嵌入式
第16章
模板与内联函数链接错误
模板实例化 · extern template · 内联多文件定义
模板内联
第17章
C与C++混合编程链接错误
Name Mangling · extern "C" · 互相调用
混合编程extern
第18章
第三方库链接错误
Boost/OpenCV/Protobuf · 配置技巧
第三方Boost
第19章
链接器脚本与自定义链接
MEMORY/SECTIONS · 自定义段 · 脚本调试
链接脚本ld
第20章
链接优化与LTO
LTO原理 · 开启方法 · 常见问题与调试
LTO优化
第21章
链接错误日志分析
日志解读 · 关键信息提取 · grep/awk
日志分析
第22章
链接器插件与工具
Gold/LLD/mold · 性能对比与选择
链接器性能
第23章
大型项目链接错误排查
增量链接 · 预编译头 · 分布式编译 · 策略
大型项目策略
第24章
链接与内存布局
代码段/数据段/BSS · 堆与栈 · 内存对齐
内存布局
第25章
链接安全与防护
RELRO/PIE/ASLR · 栈保护 · 安全选项
安全防护
第26章
链接错误自动化检测
CI/CD检测 · 静态分析 · 监控告警
自动化CI
第27章
链接错误调试工具
nm/objdump/readelf/ldd/strings/strace
工具调试
第28章
链接错误案例集锦 (上)
15个经典案例分析与解决方案
案例实战
第29章
链接错误案例集锦 (下)
15个经典案例分析与解决方案
案例进阶
第30章
链接错误排查方法论
系统性流程 · 常见误区 · 经验总结 · 最佳实践
方法论总结