跳到主要内容
macOS C++ 开发环境搭建与实战指南 | 极客日志
C++
macOS C++ 开发环境搭建与实战指南 在 macOS 系统上搭建专业 C++ 开发环境的完整流程。内容涵盖安装 Xcode 命令行工具与 Homebrew 包管理器,选择 Visual Studio Code 或 CLion 作为编辑器,使用 CMake 构建多文件项目,配置 LLDB 进行程序调试,以及集成 Google Test 编写单元测试。文中提供了具体的终端命令、配置文件模板及代码示例,旨在帮助开发者快速建立现代化、工业级且跨平台兼容的 C++ 开发工作流。
樱花落尽 发布于 2026/3/22 更新于 2026/6/15 24K 浏览macOS C++ 开发环境搭建与实战指南
✅ 适合人群:零基础或有其他语言经验,想在 Mac 上系统学习 C++
💻 系统要求:macOS Monterey (12.0) 或更高(推荐 Sonoma/Ventura)
🛠️ 目标:搭建专业级 C++ 开发环境,支持 C++17/20/23、调试、测试、多文件项目
第一步:安装开发必备工具
1. 安装 Xcode 命令行工具(免费,必装)
这是 Apple 提供的官方编译器套件(基于 LLVM/Clang),包含:
clang++:现代 C++ 编译器(支持 C++20/23)
gdb / lldb:调试器
make、git、nm 等开发工具
打开 终端(Terminal) ,执行:
xcode-select --install
会弹出窗口,点击'安装'即可(无需下载完整 Xcode)。
✅ 验证安装:
clang++ --version
你应该看到类似:
Apple clang version 15.0.0 (clang-1500.1.0.2.5) Target: arm64-apple-darwin23.2.0 ...
💡 注意:macOS 上的 clang++ 默认就是 c++,无需额外配置。
2. (可选但推荐)安装 Homebrew —— macOS 的包管理器
用于安装第三方工具(如 CMake、GCC、gtest 等)。
在终端运行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) "
安装完成后,验证:
brew --version
第二步:选择你的代码编辑器(三选一)
✅ 推荐方案 A:Visual Studio Code(免费 + 强大)
这是目前 最流行、最轻量、功能最强 的跨平台编辑器,完美支持 C++。
安装步骤:
访问 Visual Studio Code 下载并安装 VS Code
打开 VS Code,安装以下扩展:
C/C++ (by Microsoft)→ 智能提示、跳转、格式化
CMake (by twxs)→ CMake 项目支持
CMake Tools (by Microsoft)→ 图形化配置 CMake
Code Runner (可选)→ 快速运行单文件
配置 C++ 编译任务(tasks.json)
创建项目文件夹,如 ~/cpp-projects/hello
在 VS Code 中打开该文件夹
按 Cmd+Shift+P → 输入 'Tasks: Configure Task' → 选择 'Create tasks.json' {
"version" : "2.0.0" ,
"tasks" : [
{
"type" : "shell" ,
"label" : "clang++ build active file" ,
"command" : "/usr/bin/clang++" ,
"args" : [
"-std=c++20" ,
"-stdlib=libc++" ,
"-g" ,
"${file}" ,
"-o" ,
"${fileDirname}/${fileBasenameNoExtension}"
] ,
"options" : {
"cwd" : "${fileDirname}"
} ,
"group" : {
"kind" : "build" ,
"isDefault" : true
}
}
]
}
#include <iostream>
int main () {
std::cout << "Hello from macOS!\n" ;
return 0 ;
}
✅ 现在按 Cmd+Shift+B 即可编译当前 .cpp 文件!
🔧 推荐方案 B:CLion(付费,专业 IDE) 如果你追求 全功能集成开发环境 (类似 Windows 上的 Visual Studio),JetBrains 的 CLion 是 macOS 上最佳选择。
官网:CLion
学生免费,个人版约 $15/月
内置 CMake、调试器、测试框架、远程开发等
🆓 推荐方案 C:Xcode(Apple 官方 IDE,免费) 虽然主要用于 iOS/macOS App 开发,但也能写 C++。
从 App Store 安装 Xcode
创建新项目 → 'macOS' → 'Command Line Tool'
Language 选择 C++
⚠️ 缺点:对纯 C++ 项目支持不如 VS Code/CLion 灵活,CMake 支持弱。
第三步:使用 CMake 构建多文件项目(工业标准)
为什么用 CMake?
跨平台(macOS/Windows/Linux 一套配置)
管理多文件、依赖、测试
被 Google、Microsoft、LLVM 等广泛采用
示例:创建一个带测试的 C++ 项目 my_project/
├── CMakeLists.txt
├── src /
│ └── main .cpp
├── include/
│ └── utils.h
└── tests/
└── test_utils.cpp
1. 安装 CMake(通过 Homebrew)
2. 编写代码 #pragma once
int add (int a, int b) ;
#include <iostream>
#include "utils.h"
int main () {
std::cout << "5 + 3 = " << add (5 , 3 ) << "\n" ;
return 0 ;
}
#include "utils.h"
int add (int a, int b) {
return a + b;
}
3. 编写 CMakeLists.txt cmake_minimum_required(VERSION 3.20)
project(MyProject LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 包含头文件目录
include_directories(include)
# 主程序
add_executable(app src/main.cpp src/utils.cpp)
# 启用测试
enable_testing()
# 添加 Google Test(如果需要)
find_package(GTest QUIET)
if(GTest_FOUND)
add_executable(tests tests/test_utils.cpp src/utils.cpp)
target_link_libraries(tests GTest::gtest GTest::gtest_main)
add_test(NAME UtilsTest COMMAND tests)
endif()
4. 构建与运行 cd my_project
mkdir build && cd build
cmake ..
make
./app
第四步:调试 C++ 程序(使用 VS Code + lldb) macOS 默认调试器是 LLDB (不是 GDB)。
在 VS Code 中配置调试
在项目根目录创建 .vscode/launch.json:
{
"version" : "0.2.0" ,
"configurations" : [
{
"name" : "Debug C++" ,
"type" : "cppdbg" ,
"request" : "launch" ,
"program" : "${fileDirname}/${fileBasenameNoExtension}" ,
"args" : [ ] ,
"stopAtEntry" : false ,
"cwd" : "${fileDirname}" ,
"environment" : [ ] ,
"externalConsole" : false ,
"MIMode" : "lldb" ,
"preLaunchTask" : "clang++ build active file"
}
]
}
在代码中设断点(点击行号左侧)
按 F5 启动调试!
💡 提示:确保已通过 Cmd+Shift+B 编译过程序。
第五步:单元测试(Google Test)
安装 Google Test
编写测试(tests/test_utils.cpp) #include <gtest/gtest.h>
#include "utils.h"
TEST (UtilsTest, AddPositiveNumbers) {
EXPECT_EQ (add (2 , 3 ), 5 );
}
TEST (UtilsTest, AddNegativeNumbers) {
EXPECT_EQ (add (-1 , -1 ), -2 );
}
更新 CMakeLists.txt(启用测试) # 查找并链接 GTest
find_package(GTest REQUIRED)
add_executable(tests tests/test_utils.cpp src/utils.cpp)
target_link_libraries(tests GTest::gtest GTest::gtest_main)
add_test(NAME AllTests COMMAND tests)
运行测试 cd build
cmake .. -Dgtest_force_shared_crt=ON
make ./tests
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from UtilsTest
[ RUN ] UtilsTest.AddPositiveNumbers
[ OK ] UtilsTest.AddPositiveNumbers
[ RUN ] UtilsTest.AddNegativeNumbers
[ OK ] UtilsTest.AddNegativeNumbers
[----------] 2 tests from UtilsTest (0 ms total)
[==========] 2 tests from 1 test suite ran. (0 ms total)
[ PASSED ] 2 tests.
第六步:常用快捷操作汇总 操作 命令 编译单文件 clang++ -std=c++20 -g main.cpp -o main运行程序 ./main调试程序 lldb ./main → (lldb) run查看 Clang 支持的 C++ 标准 `clang++ -std=c++23 -dM -E - < /dev/null 清理构建 rm -rf build/
常见问题解答(FAQ)
Q1:macOS 上能用 GCC 吗? 可以,但不推荐 。Apple 已全面转向 Clang,且 Clang 对 C++20/23 支持更好。
brew install gcc g++-13 -std=c++23 ...
Q2:如何支持 C++23? Clang 15+(macOS Sonoma 自带)已支持大部分 C++23 特性。编译时加 -std=c++23 即可。
Q3:VS Code 无法跳转到定义? 确保已安装 C/C++ 扩展,并在 .vscode/c_cpp_properties.json 中配置:
{
"configurations" : [
{
"name" : "Mac" ,
"includePath" : [ "${workspaceFolder}/**" ] ,
"defines" : [ ] ,
"macFrameworkPath" : [ "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks" ] ,
"compilerPath" : "/usr/bin/clang++" ,
"cStandard" : "c17" ,
"cppStandard" : "c++20" ,
"intelliSenseMode" : "macos-clang-arm64"
}
] ,
"version" : 4
}
总结:macOS C++ 开发最佳实践 组件 推荐方案 编译器 clang++(系统自带)编辑器 VS Code (免费) 或 CLion (专业)构建系统 CMake 调试器 LLDB (VS Code 集成)测试框架 Google Test 包管理 Homebrew
现在,你已经拥有了一个 完全现代化、工业级、跨平台兼容 的 C++ 开发环境!
下一步建议:尝试用 CMake + Google Test 重做你之前的练习项目,学习使用 git 管理代码版本,探索 Conan / vcpkg(C++ 包管理器)。
相关免费在线工具 Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
Markdown转HTML 将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
HTML转Markdown 将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
JSON 压缩 通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
JSON美化和格式化 将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online