Windows 安装 MSVC 编译器与 Windows SDK(不装完整 IDE)
winget install Microsoft.VisualStudio.2022.BuildTools --override "--add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"配置 C/C++ 开发环境:MSVC Build Tools、MinGW-w64 与 GCC/Clang、CMake 工程、vcpkg 依赖管理、调试器与常见报错排查。
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.NinjaWindows 引导 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"' >> ~/.zshrcWindows 下检查 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-toolsWindows 安装 CLion;macOS 用 brew install --cask clion
winget install JetBrains.CLion安装 CodeLLDB,macOS/Linux 上用 LLDB 调试比 gdb 更顺
code --install-extension vadimcn.vscode-lldbg++ 或 cl 找不到时,确认对应工具链已装且 bin 目录在 PATH 中
# Windows
where g++
where cl只筛出编译错误行,长日志里快速定位第一条报错
g++ main.cpp -o hello 2>&1 | findstr errorLinux 下检查运行时动态库依赖是否缺失
ldd ./hello开启 AddressSanitizer 定位越界与内存泄漏
g++ -g -fsanitize=address main.cpp -o helloWindows 控制台中文乱码时把代码页切到 UTF-8
chcp 65001增量构建产生陈旧产物时,先清理再重新构建
cmake --build build --clean-first本网站使用 Cookie 以确保您在我们的网站上获得最佳体验。 隐私政策.