vscode: windows/linux下配置C/C++编译和调试环境
说在前面
本文是从官方文档以及实际操作中总结而来,对于从事该行业的专业人员来说,推荐多看官方英文文档;当然对于初学者而言,先行阅读一个较好的中文指导博客也是无可厚非的。
链接: vscode C/C++环境配置官方文档.
正式起步
安装gcc组件
windows下可以下载mingw-w64,关于mingw-w64的说明可以参见百度百科。而对于大多数linux系统而言,一般都自带有gcc、g++的编译环境,所有如果你正在使用常见的ubuntu系统、mac系统的话就不需要安装。
添加环境变量
这一步是需要windows用户单独操作的,也就是并不自带gcc组件的系统。
添加环境变量的步骤很简单,首先找到正确的gcc组件所在的bin目录,也就是说目录路径只能到bin
为止,而不能明确到gcc
,因为在bin目录下不止有gcc,还有g++、gdb等程序。然后在win10系统中可以直接搜索环境变量
,添加到系统变量或者用户变量的path
即中。
在添加环境变量后,我们就可以在终端中直接输入gcc --version
等命令,如果显示版本信息即可证明添加成功。这是因为本来在终端需要执行一个命令就是在path
环境变量中去查找该命令程序的所在目录,一般系统都会自动配置一些程序路径在这里,所以像自带gcc组件的ubuntu和mac这些早已配置好了相应环境变量的系统,不用配置也能在终端执行相应命令。当然我们之所以需要在这里添加环境变量,只是为了方便后面vscode自动生成一些配置文件时可以找到gcc、g++的路径。
创建helloworld项目
下面我们开始用helloworld项目来完善我们的配置。
新建一个test文件夹,在文件下新建hello.c
或者hello.cpp
,一个用于C语言,一个用于C++。接下来就是最关键的配置文件生成部分。
hello.c
#include <stdio.h>
int main(void)
{
printf("hello, world\n");
return 0;
}
hello.cpp
#include <iostream>
int main(void)
{
using namespace std;
cout << "hello, world!" << endl;
return 0;
}
生成编译配置文件
编译配置–>tasks.json
首先,选中.p
或者.cpp
文件,也就是一定要在vscode中打开相应的源代码文件(否则不会出现如下第二张图的模板文件选项),然后按照下图一中进行操作,点击Terminal–>Configure Tasks或者Configure Default Build Task。
接下来会出现vscode自带的模板文件选项,是C就选择gcc.exe
,是C++就选择g++.exe
。
不同的系统展示会略有区别,如下是ubuntu系统所示,会展示详细的compiler信息来帮助我们进行选择。
选中相应的模板文件后,会在当前目录下生成.vscode文件夹,里面会出现tasks.json文件,该文件即对应执行程序编译的配置文件,其内容如下:
windows下tasks.json
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe build active file",
"command": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\bin\\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
ubuntu下tasks.json
{
"version": "2.0.0",