相关名词就不解释了,这里主要讲讲在vscode里怎么配,这里假设大家相关工具已经装好。1、在.vscode目录下,新建以下几个配置文件,当然也可以通过vscode命令自动生成,如果你已有这些文件直接修改即可。c_cpp_prop...
相关名词就不解释了,这里主要讲讲在vscode里怎么配,这里假设大家相关工具已经装好。
1、在.vscode目录下,新建以下几个配置文件,当然也可以通过vscode命令自动生成,如果你已有这些文件直接修改即可。
c_cpp_properties.json(代码提示):
{
"configurations": [
{
"name": "Win32",
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "${env:MSYS2}/mingw64/bin/gcc",
"includePath": ["${env:MSYS2}/mingw64/include"],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
tasks.json(编译):
{
"tasks": [
{
"type": "shell",
// 标示名
"label": "build",
// 要执行的命令,这里用了一个bat脚本来构建
"command": "./build.sh",
// 命令参数
"args": ["${fileBasename}", "${fileBasenameNoExtension}.exe"],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": "$gcc"
}
],
"version": "2.0.0"
}
launch.json(调试):
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "gdb",
"type": "cppdbg",
"request": "launch",
// 要调试的程序
"program": "${workspaceFolder}/build/${fileBasenameNoExtension}.exe",
// 程序运行参数
"args": ["./video/sample.mp4"],
// 是否在入口自动断点
"stopAtEntry": false,
// 工作目录
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "gdb.exe",
// 先编译,再调试,对应tasks.json中的标示
"preLaunchTask": "build",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
settings.json(vscode终端配置):
{
"editor.formatOnSave": true,
// 要使用cmd终端,其他终端会有兼容问题
"terminal.integrated.shell.windows": "${env:MSYS2}/usr/bin/bash.exe",
"terminal.integrated.shellArgs.windows": ["--login"],
"terminal.integrated.env.windows": {
"MSYSTEM": "MINGW64",
"CONTITLE": "MinGW x64",
"C_INCLUDE_PATH": "/mingw64/include",
"CPLUS_INCLUDE_PATH": "/mingw64/include"
}
}
2、在根目录下创建构建脚本,构建脚本主要是配置msvc环境,配置cl.exe的构建参数(头文件、链接库等)
build.bat(构建脚本,可根据需要自行更改):
#!/bin/sh
# 创建build目录
if [ ! -d "build" ]; then
mkdir build
fi
gcc $1 -g -o build/$2 -lavformat -lavcodec -lavutil -lSDl2main -lSDL2
沃梦达教程
本文标题为:[原创]在Windows平台使用msys2、mingw64和vscode编写和调试C/C++代码
猜你喜欢
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- Qt计时器使用方法详解 2023-05-30
- C语言qsort()函数的使用方法详解 2023-04-26
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- Easyx实现扫雷游戏 2023-02-06
- ubuntu下C/C++获取剩余内存 2023-09-18
- C++ 数据结构超详细讲解顺序表 2023-03-25
- C语言手把手带你掌握带头双向循环链表 2023-04-03
- C语言详解float类型在内存中的存储方式 2023-03-27
