原因
平时写c++大部分时间是在windows环境下,然后用Visual Studio调试和编译代码。但是由于会用到多种操作系统,有时候需要远程调试代码。远程调试用Teamviewer或者Microsoft Remote Desktop的话,还是不太方便。再加上也想学习一下g++编译器。相较于msvc,g++跨平台的特性更加实用。
配置
- 安装g++编译器(windows:MinGW,linux:sudo安装,macOS: brew安装)。必装的项目有g++,gcc,gdb,
- vscode安装C++扩展(C/C++)
- 配置lanuch.json和tasks.json文件。以下是标准的launch.json文件和tasks.json文件
lanuch.json
"configurations": [
{
"name": "生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb", //调试模式
"miDebuggerPath": "D:\\MinGW\\bin\\gdb.exe",
"preLaunchTask": "g++",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
]
}
]
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++",
"command": "D:\\MinGW\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${workspaceFolder}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "D:\\MinGW\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "调试器生成的任务。" //注意和lanuch.json中的文件匹配
},
],
}
然后就是写代码编译生成可执行文件了。这部分和g++编译器的内容相关。后面继续学习g++编译器。