Ubuntu下使用VsCode搭建C++开发环境
1、基本工具的安装
首先Ubuntu下安装好C++开发的一个些基本工具g++、gdb、make、cmake等,安装方式点这里
检查一下安装环境
$ g++ --version
g++ (Ubuntu 11.4.0-1ubuntu1~22.04)11.4.0
Copyright (C)2021 Free Software Foundation, Inc.
This is free software; see the sourcefor copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ gdb --version
GNU gdb (Ubuntu 12.1-0ubuntu1~22.04.2)12.1
Copyright (C)2022 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ make --version
GNU Make 4.3
Built for x86_64-pc-linux-gnu
Copyright (C)1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ cmake --version
cmake version 3.22.1
CMake suite maintained and supported by Kitware (kitware.com/cmake).
2、VsCode环境搭建
打开vscode(未安装则自行安装vscode),点击extension,搜索C++,安装
c/c++
插件
安装完成后,测试一下,创建一个新目录
cpp_proj_test
,用vscode打开,创建一个
main.cpp
文件,内容如下:
// main.cpp#include<iostream>usingnamespace std;intmain(){
cout <<"Hello World!!!!!"<< endl;return0;}
保存后,按
ctrl
不调试直接执行程序F5
这里选择上面第二个
这个编译器,点击后如下c/c++
正常编译,查看一下下面
终端面板,成功编译并执行了TERMINAL
这时,我们的
项目目录下,多了一个编译结果文件cpp_proj_test
,以及vscode工程项目的专用配置文件main
,如下所示.vscode/tasks.json
tasks.json
的内容如下
{"tasks":[{"type":"cppbuild","label":"C/C++: g++ build active file","command":"/usr/bin/g++","args":["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}"],"options":{"cwd":"${fileDirname}"},"problemMatcher":["$gcc"],"group":{"kind":"build","isDefault":true},"detail":"Task generated by Debugger."}],"version":"2.0.0"}
3、vscode编译调试环境配置
vscode中的重要的配置文件主要有三个:
c_cpp_properties.json
,
launch.json
,
tasks.json
1)
c_cpp_properties.json
配置
该文件是编译器的配置文件,配置包含:gcc/g++路径、include头文件路径、C++标准等。
按下
ctrl+shift+P
,输入
c/c++:Edit Configurations
,出现如下,选择下面第二个,自动创建一个配置文件
{"configurations":[{"name":"Linux","includePath":["${workspaceFolder}/**"],"defines":[],"compilerPath":"/usr/bin/gcc","cStandard":"c17","cppStandard":"gnu++17","intelliSenseMode":"linux-gcc-x64"}],"version":4}
2)
launch.json
配置
该文件是debug调试C/C++程序(执行out文件)的配置文件,配置包含:debug类型等;tasks.json 文件告诉vscode如何编译cpp程序。这会调用 g++ 编译器将源文件编译成可执行文件。为了方便VScode编译C++代码,可以将include头文件、lib动态链接库等路径写入 tasks.json配置文件里。
点击左侧的
运行与调试
,出现下面的面板
点击
create a launch.json file
创建一个启动配置文件
launch,json
如下:
{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","configurations":[]}
将
launch.json
配置文件修改为如下所示:
{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version":"0.2.0","configurations":[{/* 配置名称,将会在启动配置的下拉菜单中显示 */"name":"(gdb) Launch",/* 配置类型,cppdbg类型 */"type":"cppdbg",/* 请求配置类型,可以为launch(启动)或attach(附加) */"request":"launch",/* 将要进行调试的程序的路径 */"program":"${workspaceFolder}/${fileBasenameNoExtension}.out",/* 程序调试时传递给程序的命令行参数,一般设为空即可 */"args":[],/* 设为true时程序将暂停在程序入口处,一般设置为false */"stopAtEntry":false,/* 调试程序时的工作目录 */"cwd":"${workspaceFolder}","environment":[],/* 调试时是否显示控制台窗口,一般设置为true显示控制台 */"externalConsole":true,"MIMode":"gdb","preLaunchTask":"build","setupCommands":[{"description":"Enable pretty-printing for gdb","text":"-enable-pretty-printing","ignoreFailures":true}]}]}
保存配置,进入
main.cpp
页面,再次按下
ctrl+F5
,弹出如下界面,提示未找到任务
build
我们点击
Debug Aanyway
后,出现这个调试窗口,则表示成功;
如需要消除上面的的task任务缺失弹框,可进一步配置
Tasks.json
,
3)
tasks.json
配置
该文件是编译C/C++程序(生成out文件)的配置文件,配置包含:include头文件路径、lib链接库路径等
按键输入
ctrl+shift+P
,输入搜索
Tasks: Run Task
如下,
点击
Tasks: Run Task
,进入后,鼠标移动到
c/c++: g++ build activate file
后面的齿轮配置按钮
点击齿轮按钮
Configure Task
,打开
Tasks.json
配置文件,如下所示
前面
launch.json
中的
"preLaunchTask": "build",
属性,预启动的任务设置为
build
,则,我们需要修改tasks.json的
label
同样也为
build
即可;
修改后如下:
{"tasks":[{"type":"cppbuild","label":"build","command":"/usr/bin/g++","args":["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}",/* 项目所需的头文件路径 */"-I","${workspaceFolder}/include","-I","/usr/include","-I","/usr/local/include",/* 项目所需的库文件路径 */"-L","/usr/local/lib",],"options":{"cwd":"${fileDirname}"},"problemMatcher":["$gcc"],"group":{"kind":"build","isDefault":true},"detail":"Task generated by Debugger."}],"version":"2.0.0"}
再次按下ctrl+F5,则不会再提示了
版权归原作者 丰色木夕 所有, 如有侵权,请联系我们删除。