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

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

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

Kubernet发布于 2026/3/21更新于 2026/7/2549 浏览

以下是一份详细的 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. 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Mac Mini M4 本地部署大模型:Ollama 与 Llama 环境配置指南
  • Trae IDE 结合 Figma 实现设计稿智能生成前端代码
  • 基于 CLIProxyAPI 与 New API 构建统一 AI 中转站部署指南
  • GitHub Copilot 免费版与 Pro 版核心差异及选择指南
  • 智谱 AI 免费大模型 API 调用教程
  • MCP Server 实现 Excel 表格一键生成可视化图表 HTML 报告
  • Python 近期副业需求清单及常见项目类型
  • OpenCode 开源 AI 编程助手使用指南
  • 文心一言 4.5:中文能力实测与本地部署记录
  • Apache SeaTunnel Web 部署及可视化数据集成实践
  • Neovim 配置 C/C++ 开发环境
  • 基于 FreeCAD 将 3MF 模型无损转换为 STEP 格式的方法
  • Vibe Coding 前端搭建:用 Playwright MCP 解决视觉盲区
  • AI 图像生成提示词工程:新手入门与最佳实践
  • 基于 CNB 平台搭建 ComfyUI 实现 AI 绘画工作流
  • 基于 WebGIS 与百度天气 API 的省会城市天气预报系统构建
  • NVIDIA AI Enterprise 运维指南:医疗行业部署与训练路径
  • 2025 年睿抗机器人开发者大赛 CAIP 编程技能赛本科组解题报告
  • Copilot/Codex 中文乱码修复与自动化配置方案
  • 基于 Edge TTS 的 Python 语音合成实践

相关免费在线工具

  • 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