0%

VScode+CMake实现项目开发

在Linux环境下我们经常使用VScode进行C++的开发,我们经常配合CMake使用,以下是配置的说明:

我以Windows系统下的wsl举例,用VScode远程连接到wsl。

  1. 创建文件夹

保证我的文件夹结构为

1
2
3
4
5
6
|
|--.vscode--launch.json
|--build
|--include--*.h
|--src--*.cpp
|--CMakeLists.txt
  1. 编写CMakeLists.txt

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cmake_minimum_required(VERSION 3.13)

project(test)//项目名称

set(CMAKE_CXX_STANDARD 14)//编译器版本

include_directories(include/)//include头文件(放入*.h)

add_executable(main
src/test.cpp
src/main.cpp
)//生成可执行文件(放入*.cpp)

target_compile_options(main PRIVATE -g)//加上调试参数
  1. 代码编写

编写你的.h和.cpp

  1. cmake

cdbuild目录,然后执行cmake ..make,生成可执行文件main,它在build

  1. 调试文件编写

在调试界面点击添加调试配置文件通过VScode自动生成launch.json,然后修改你的可执行文件位置,在CMake的处理下可执行文件位置在build里,故改成下面这种样子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/main",//这是修改的一行
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}

]
}

至此大功告成,可以使用F5调试代码了,如下

image-20230419165954000
image-20230419170008627