跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
C++

Visual Studio + CMake 开发 C++ 入门指南

在 Visual Studio 中使用 CMake 进行 C++ 开发的完整流程。涵盖环境搭建、项目结构创建、CMakeLists.txt 编写、代码示例、构建运行及调试技巧。通过实战案例展示如何扩展数学计算模块,并解决了常见问题如头文件查找和链接错误。掌握这些步骤可高效管理 C++ 项目构建流程。

Kubernet发布于 2026/3/21更新于 2026/9/973 浏览

以下是一份详细的 Visual Studio + CMake 开发 C++ 入门指南,涵盖环境搭建、项目创建、调试技巧和实战案例。


1. 环境搭建
安装 Visual Studio
  1. 下载 Visual Studio 2022 Community 版。
  2. 安装时勾选 '使用 C++ 的桌面开发' 和 'C++ CMake 工具':
    • 确保包含 MSVC 编译器、Windows SDK 和 CMake 集成组件。
验证安装

打开命令行,输入以下命令:

cmake --version # 确认 CMake 版本
cl /? # 确认 MSVC 编译器

2. 创建 CMake 项目
项目结构

创建一个基础项目目录:

my_project/
├── CMakeLists.txt # CMake 配置文件
├── src/
│   └── main.cpp # 主程序
└── include/
    └── utils.h # 头文件
编写 CMakeLists.txt
cmake_minimum_required(VERSION 3.10) # 最低 CMake 版本
project(MyProject) # 项目名称
# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 17)
# 添加可执行文件
add_executable(${PROJECT_NAME} src/main.cpp src/utils.cpp)
# 包含头文件目录
target_include_directories(${PROJECT_NAME} PUBLIC include)

3. 在 Visual Studio 中打开项目
  1. 打开 Visual Studio,选择 '打开本地文件夹'。
  2. 导航到项目目录(包含 CMakeLists.txt 的文件夹)。
  3. Visual Studio 会自动识别为 CMake 项目并生成构建缓存。

4. 编写示例代码
include/utils.h
#pragma once
int add(int a, int b);
src/utils.cpp
#include "utils.h" int add(int a, int b) { return a + b; }
src/main.cpp
#include <iostream>
#include "utils.h"
int main() {
    std::cout << "5 + 3 = " << add(5, 3) << std::endl;
    return 0;
}

5. 构建与运行
  1. 构建:在 VS 顶部菜单选择 '生成' → '生成全部'(或快捷键 Ctrl+Shift+B)。
  2. 运行:按 F5 启动调试,或 Ctrl+F5 直接运行。

输出结果:

5 + 3 = 8

6. 调试技巧
  • 断点调试:在代码行号左侧单击设置断点,按 F5 启动调试。
  • 变量监视:右键变量 → '添加监视' 或使用 '监视'窗口。
  • CMake 缓存重置:若配置更改无效,删除 build/ 目录重新生成。

7. 项目实战:数学计算库

扩展项目,添加一个数学计算模块:

include/math_utils.h
#pragma once
double square(double x);
src/math_utils.cpp
#include "math_utils.h"
double square(double x) {
    return x * x;
}
更新 CMakeLists.txt
# 添加新源文件
add_executable(${PROJECT_NAME} src/main.cpp src/utils.cpp src/math_utils.cpp)
在 main.cpp 中使用
#include "math_utils.h"
int main() {
    std::cout << "Square of 4: " << square(4.0) << std::endl;
    return 0;
}

8. 常见问题解决
  1. 找不到头文件:检查 target_include_directories 路径是否正确。
  2. 链接错误:确保所有源文件已添加到 add_executable。
  3. CMake 生成失败:检查控制台输出的错误信息,常见于路径或语法错误。

总结

通过 Visual Studio 集成 CMake,可以高效管理 C++ 项目的构建流程。重点掌握:

  1. 项目结构:合理组织头文件和源文件。
  2. CMake 配置:使用 add_executable 和 target_include_directories。
  3. 调试技巧:断点、监视窗口和缓存重置。

实战中逐步扩展功能模块,可快速提升开发效率。

目录

  1. 1. 环境搭建
  2. 安装 Visual Studio
  3. 验证安装
  4. 2. 创建 CMake 项目
  5. 项目结构
  6. 编写 CMakeLists.txt
  7. 设置 C++ 标准
  8. 添加可执行文件
  9. 包含头文件目录
  10. 3. 在 Visual Studio 中打开项目
  11. 4. 编写示例代码
  12. include/utils.h
  13. src/utils.cpp
  14. src/main.cpp
  15. 5. 构建与运行
  16. 6. 调试技巧
  17. 7. 项目实战:数学计算库
  18. include/math_utils.h
  19. src/math_utils.cpp
  20. 更新 CMakeLists.txt
  21. 添加新源文件
  22. 在 main.cpp 中使用
  23. 8. 常见问题解决
  24. 总结

更多推荐文章

查看全部
  • RabbitMQ 快速入门
  • 从 Chatbot 到 Agent:基于 Kotlin 实现 AI 智能体开发
  • 26 岁后转行程序员晚吗?毕业学员分享真实经验
  • OpenClaw 本地 AI 助手安装与使用指南
  • Spring 核心技术解析:Spring-Jcl 日志模块详解
  • 人工智能、机器学习与深度学习的核心概念解析
  • MCP 插件实战:Browser Tools 集成指南
  • C++ 类和对象(中):默认成员函数与运算符重载
  • 英语学习笔记:认知方法、系统构成与风险管理
  • ChatGLM-6B 使用、微调与训练指南
  • Vue3 前端最常用的 20 道面试题总结与代码解析
  • C++ STL 常用容器实战指南
  • 基于 7 系列 FPGA 实现万兆网通信
  • 2023 年网络安全 HW 行动蓝队面试常见问题与解答
  • Stable Diffusion XL 快速部署与使用指南
  • 世界模型发展脉络整理:理解世界还是预测未来?
  • Hyprland-Material-You 开发者环境搭建全流程
  • MySQL 迁移至金仓:高兼容自动化与低成本落地实战
  • 大模型 LLM 学习路径指南:岗位需求、主流模型与技能提升方案
  • 国产主流大模型深度评测:智谱 GLM-4 与通义千问数学推理能力对比

相关免费在线工具

  • 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