C/C++ 开发环境配置 - 码剑客

配置 C/C++ 开发环境:MSVC Build Tools、MinGW-w64 与 GCC/Clang、CMake 工程、vcpkg 依赖管理、调试器与常见报错排查。

MSVC 2022 / GCC 13 / Clang 17更新于 2026-10-29共 29 条

安装与版本管理

Windows 安装 MSVC 编译器与 Windows SDK(不装完整 IDE)

winget install Microsoft.VisualStudio.2022.BuildTools --override "--add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"

Windows 安装 MinGW-w64(GCC),适合轻量命令行编译与跨平台代码

winget install BrechtSanders.WinLibs.POSIX.UCRT

用 choco install mingw 也可,安装后确认 bin 目录已加入 PATH

macOS 安装 Xcode 命令行工具(Clang),Ubuntu 安装 build-essential(GCC + make)

# macOS
xcode-select --install
# Ubuntu / Debian
sudo apt update && sudo apt install -y build-essential

安装 CMake 并确认版本,跨平台工程统一用它生成构建文件

winget install Kitware.CMake
# macOS
brew install cmake
cmake --version

安装 Ninja 构建后端,CMake + Ninja 编译速度明显快于 make

winget install Git.Git
winget install Git.Git.Ninja

镜像源与依赖管理

Windows 引导 vcpkg,用于安装第三方 C/C++ 库

git clone https://github.com/microsoft/vcpkg
cd vcpkg
.\bootstrap-vcpkg.bat

按三元组安装依赖,Windows 用 x64-windows,交叉编译时切对应三元组

vcpkg install fmt:x64-windows
vcpkg install openssl:x64-linux

让 Visual Studio / MSBuild 自动识别 vcpkg 安装的库

vcpkg integrate install
高危

依赖拉取慢时用镜像地址替换 GitHub,注意只对公开仓库有效

git config --global url."https://gitee.com/mirrors/".insteadOf "https://github.com/"

会全局影响所有 git clone,排查完建议用 --unset 撤销

代理环境下让 git 与包管理器走代理,Windows 用 set 设置同名变量

export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890

环境变量

确认 PATH 中的编译器来自哪个工具链,多套工具链混装时必须核对

# Windows
where gcc
gcc --version
# macOS / Linux
which -a gcc clang
gcc --version

设置 VCPKG_ROOT,CMake 与 IDE 扩展依赖该变量定位 vcpkg

# Windows
setx VCPKG_ROOT "C:\dev\vcpkg"
# macOS / Linux
echo 'export VCPKG_ROOT="$HOME/vcpkg"' >> ~/.zshrc

Windows 下检查 MinGW 的 bin 目录是否真的在 PATH 中

echo %PATH% | findstr /i mingw

在普通终端中手动加载 MSVC 环境变量,才能直接使用 cl.exe

# Windows(开发者命令提示符)
call "C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
where cl

创建工程与验证

创建工程目录并新建源文件,内容为标准的 int main 输出 Hello

mkdir hello && cd hello
code main.cpp

用 GCC 编译并运行,开启常用告警,Windows 产物带 .exe

g++ -std=c++20 -Wall -Wextra main.cpp -o hello
.\hello

写入 CMakeLists.txt,后续用 CMake 生成各平台构建文件

cmake_minimum_required(VERSION 3.20)
project(hello CXX)
set(CMAKE_CXX_STANDARD 20)
add_executable(hello main.cpp)

生成构建目录并编译,Debug 类型便于断点调试

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build build

让 CMake 使用 vcpkg 提供的依赖,Windows PowerShell 写法

cmake -B build -DCMAKE_TOOLCHAIN_FILE=$env:VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake

命令行调试入口,配合 break、run、bt 等命令定位崩溃

gdb ./hello
# macOS
lldb ./hello

编辑器与插件

安装 C/C++ 扩展与 CMake Tools,获得智能提示、编译与调试集成

code --install-extension ms-vscode.cpptools
code --install-extension ms-vscode.cmake-tools

Windows 安装 CLion;macOS 用 brew install --cask clion

winget install JetBrains.CLion

安装 CodeLLDB,macOS/Linux 上用 LLDB 调试比 gdb 更顺

code --install-extension vadimcn.vscode-lldb

常见问题排查

g++ 或 cl 找不到时,确认对应工具链已装且 bin 目录在 PATH 中

# Windows
where g++
where cl

只筛出编译错误行,长日志里快速定位第一条报错

g++ main.cpp -o hello 2>&1 | findstr error

Linux 下检查运行时动态库依赖是否缺失

ldd ./hello

开启 AddressSanitizer 定位越界与内存泄漏

g++ -g -fsanitize=address main.cpp -o hello

Windows 控制台中文乱码时把代码页切到 UTF-8

chcp 65001

增量构建产生陈旧产物时,先清理再重新构建

cmake --build build --clean-first

本网站使用 Cookie 以确保您在我们的网站上获得最佳体验。 隐私政策.