
任何语言,在我们刚刚接触时,IDE 都是一个'平易近人'的工具,帮助我们一键实现了项目的:'构建 -> 编译 -> 运行',这些工作看似简单实则繁琐,只是 IDE 屏蔽了它们的复杂性。后来,你可能会参与到大型项目的开发中,IDE 就无法再轻而易举地帮你构建项目了,于是,你们的团队需要在专职的服务器上使用专门的构建工具去构建和编译你们的大型项目,再用持续集成工具把'构建 -> 编译 -> 发布'的一整套流程自动化运转起来。
不管你处在学习一门语言的什么阶段,或早或晚都将会学习和使用'构建 -> 编译 -> 运行'这个链条上的工具,本文会对 C++ 生态下的构建、编译工具做一个入门级的介绍,但是会参照其他语言里的对等物给出一些关联解释,方便有其他高级语言背景的人快速理解每一种工具的定位和作用。
作为一门古老的语言,C++ 的 IDE、构建工具和编译工具非常多,本文我们定位在:一个 C++ 初学者如何将 C++ 教程中的示例代码迁移到一个 IDE 的空项目中并实现自动 + 手动(基于命令行)的项目构建和运行。
1. 构建工具选型
对于 C++ 的'构建 -> 编译 -> 运行'工具,我并没有什么偏好,我选择的技术堆栈来自于一个很'刁钻'的线索,就是观察使用的 IDE,看它们集成了什么构建和编译工具,又是以什么工具作为默认选项的,然后我们就在本地安装对应的工具,用命令行再手搓一遍构建全流程


