1. 一些很好的博客:
5分钟理解make/makefile/cmake/nmake - 知乎
【C++ 的预处理】 C/C++ Preprocessors - GeeksforGeeks
编译器连接器和库:介绍编译器,连接器和库 | LearnCpp中文版
【先是单个程序的编译】G++、GDB 学习笔记:G++、GDB 学习笔记_algsup的博客-CSDN博客
【CMAKE 代码实践,我会按这个整理】cmake 学习笔记(一)_dbzhang800的博客-CSDN博客
cmake 学习笔记(二)_dbzhang800的博客-CSDN博客
cmake 学习笔记(三)_dbzhang800的博客-CSDN博客_find_package_handle_standard_args
【详细步骤:】 CMake 学习笔记_algsup的博客-CSDN博客_cmake 学习笔记
C++-从cpp文件到exe文件的过程_彭同学她同桌的博客-CSDN博客_怎么把cpp文件生成exe
.cpp文件转换为.exe文件过程(C++)_故园归梦的博客-CSDN博客_如何将cpp文件生成exe文件
源程序.cpp编译链接生成可执行文件.exe的详细过程以及动态链接库dll和静态链接库lib的区别_algsup的博客-CSDN博客_生成的库文件没有链接到exe可执行文件中
【C++ 的预处理】 C/C++ Preprocessors - GeeksforGeeks
#if、#elif、#else 和 #endif 指令 (C/C++): #if、#elif、#else 和 #endif 指令 (C/C++) | Microsoft Learn
C++ 中的 Lambda 表达式 | Microsoft Learn
C++预编译阶段的几种预处理指令_锥子A的博客-CSDN博客
多文件:
Linux 下使用 vscode 多文件编译调试 C/C++ 程序_algsup的博客-CSDN博客_linux vscode 编译
编译器与操作系统的关系 - 知乎
linux操作系统基础之gcc和g++-云社区-华为云
认识编译器和C/C++编译 - 掘金
下述文章:This article is intended to help C & C++ programmers understand the essentials of what the linker does.
Beginner's Guide to Linkers
GNU make的官方手册:GNU make