【C++】vscode+cmake+MinGW开发环境搭建
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
msys2和mingw适用于windows系统其余vscode配置可通用win和linux系统
安装vscode
安装cmake
配置环境变量
略
MSYS2
安装MSYS2
替换软件源
- 打开Msys2-MinGW64终端
- 执行如下命令将MSYS2软件源换成清华国内源
sed -i "s#mirror.msys2.org/#mirrors.tuna.tsinghua.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*
安装MinGW64环境
- 打开MSYS2-MinGW64终端
- 执行如下命令安装完整的MinGW64环境
pacman -S --needed base-devel mingw-w64-x86_64-toolchain
- 终端执行
gcc -v
g++ -v
gdb -v
如果显示了完整的版本信息则说明安装成功
参考链接
创建vscode的c++空间
编写CMakeLists.txt
编写代码
略
配置vscode
预备环境
- 目录结构
${workspaceFolder} ##vscode打开的目录
├ .vscode ##vscode配置目录
│ ├ tasks.json
│ └ launch.json
├ build ##cmake构建目录
├ CMakeLists.txt
├ main.cpp
├ src.cpp
└ src.h
- CMakeLists.txt内容
project(prj)
aux_source_directory(${CMAKE_SOURCE_DIR} CPP_FILE)
add_executable(out ${CPP_FILE})
CMakeLists.txt需要根据实际情况进行编写
- 生成编译步骤
- 清理build目录
- 在build目录中执行cmake … -G “MinGW Makefiles”。指定CMake按MinGW模式生成Makefile
- 使用MinGW64的make命令进行编译
配置tasks.json文件
{
"tasks": [
{
"type": "shell",
"detail": "清理build目录",
"label": "Clear Build",
"command": "rm",
"windows": {
"args": [
"-r",
"*"
],
"options": {
"cwd": "${workspaceFolder}/build",
}
},
"linux": {}
},
{
"dependsOn":[
"Clear Build"
],
"type": "shell",
"detail": "执行CMake命令",
"label": "CMake",
"command": "cmake",
"args": [
"..",
"-G",
"MinGW Makefiles"
],
"options": {
"cwd": "${workspaceFolder}/build"
},
},
{
"dependsOn":[
"CMake"
],
"type": "shell",
"detail": "执行Make",
"label": "Run Make",
"command": "mingw32-make.exe",
"args": [
"-j4"
],
"options": {
"cwd": "${workspaceFolder}/build",
}
}
],
"version": "2.0.0"
}
- 配置项项说明
- task节点下一共创建了3个json object代表了3个步骤
- label: 任务名称
- type任务执行的类型shell表示当前任务是在终端中执行
- detail说明可省略
- command 命令
- args command命令的参数列表
- options 选项
- options/cwd: 执行命令的路径
- dependOn前置任务填写对应任务label
- 实际分析
2.1 tasks.json中设置了3个任务分别是"Clear Build",“CMake”,“Run Make”
2.2 在"Clear Build"中部分配置项写在了"windows" 内为的是进行操作系统的区分
2.3 dependOn 通过设置前置任务可以用来设置任务的执行顺序。案例中的顺序就是"Clear Build" -> “CMake” -> “Run Make”
配置launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Start",
"type": "cppdbg",
"request": "launch",
"cwd": "${workspaceFolder}/build",
"program": "${workspaceFolder}/build/out.exe",
"preLaunchTask": "Run Make"
}
]
}
配置项说明
- name启动项目名称
- type启动类型cppdbg调试c++启动。cppbuild等
- cwd启动执行路径
- program启动的二进制文件路径
- preLaunchTask启动前对应执行的tasks.json配置的任务label
按键F5启动
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |