以下是一份详细的 Visual Studio + CMake 开发 C++ 入门指南,涵盖环境搭建、项目创建、调试技巧和实战案例。
1. 环境搭建
安装 Visual Studio
- 下载 Visual Studio 2022 Community 版。
- 安装时勾选 '使用 C++ 的桌面开发' 和 'C++ CMake 工具':
- 确保包含 MSVC 编译器、Windows SDK 和 CMake 集成组件。
在 Visual Studio 中使用 CMake 进行 C++ 开发的完整流程。涵盖环境搭建、项目结构创建、CMakeLists.txt 编写、代码示例、构建运行及调试技巧。通过实战案例展示如何扩展数学计算模块,并解决了常见问题如头文件查找和链接错误。掌握这些步骤可高效管理 C++ 项目构建流程。
以下是一份详细的 Visual Studio + CMake 开发 C++ 入门指南,涵盖环境搭建、项目创建、调试技巧和实战案例。
打开命令行,输入以下命令:
cmake --version # 确认 CMake 版本
cl /? # 确认 MSVC 编译器
创建一个基础项目目录:
my_project/
├── CMakeLists.txt # CMake 配置文件
├── src/
│ └── main.cpp # 主程序
└── include/
└── utils.h # 头文件
CMakeLists.txtcmake_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)
CMakeLists.txt 的文件夹)。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;
}
Ctrl+Shift+B)。F5 启动调试,或 Ctrl+F5 直接运行。输出结果:
5 + 3 = 8
F5 启动调试。build/ 目录重新生成。扩展项目,添加一个数学计算模块:
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;
}
target_include_directories 路径是否正确。add_executable。通过 Visual Studio 集成 CMake,可以高效管理 C++ 项目的构建流程。重点掌握:
add_executable 和 target_include_directories。实战中逐步扩展功能模块,可快速提升开发效率。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online