环境搭建
本节将介绍C++开发环境相关知识,分别为编译器、生成器、编辑器、包管理器。
一、编译器
C/C++三大编译器分别为GCC(GNU Compiler Collection)、Clang、MSVC,其中GCC、Clang是跨平台的。下面将分别介绍Windows和Linux的C/C++开发环境。
Windows
Windows下C/C++开发首选MSVC,GCC和Clang可能会发生错误,因为MSVC与GCC的编译规则不同。也可以使用基于MSVC的Clang。
-
下载Visual Studio 2022 生成工具,而非Visual Studio
-
选择单个组件,如图所示:
Linux
不同Linux系统安装方式不同,以Ubuntu为例:
# GCC
sudo apt install gcc g++
# Clang
sudo apt install clang clang-tools
二、生成器
生成器(Generator)的目的是为了简化编译过程,Linux下的默认生成器为make
,Windows下的默认生成器为MSBuild
。后来为了保持平台一致性,有人发明了Ninja
,由于缺少包管理功能,一般搭配CMake
一起使用。
三、编辑器
目前最强C++编辑器是Visual Studio
,缺点是不能跨平台。Clion Nova
与VSCode
相比,Clion Nova
的语言服务器更强,而VSCode
可以编写更多语言,学习成本更低。
四、包管理器
我用过的跨平台的C/C++包管理有Conan
、Xrepo
、vcpkg
。Linux平台的apt
、pacman
、dnf
等,Windows的MSYS2
。除此之外还有原本为ROS2开发的colcon
,也可以用于管理CMake项目。