ubuntu系统vscodeC++编译环境配置与使用方式

   2023-02-07 学习力0
核心提示:目录一、环境配置与使用1、软件与插件安装2、创建工程项目3、运行与调试二、配置文件总结本文参考官网:https://code.visualstudio.com/docs/cpp/config-linux,主要介绍在ubuntu系统上vscodeC++编译环境配置与使用方法。一、环境配置与使用1、软件与插件安装

本文参考官网:https://code.visualstudio.com/docs/cpp/config-linux,主要介绍在ubuntu系统上vscodeC++编译环境配置与使用方法。

一、环境配置与使用

1、软件与插件安装

vscode软件,可以在官网下载。

检查是否安装g++和gcc。

确保安装GCC gcc -v 如果没有安装,需要另行安装 sudo apt-get update sudo apt-get install build-essential gdb

需要安装C/C++插件。

ubuntu系统vscodeC++编译环境配置与使用方式

2、创建工程项目

创建工程目录

mkdir projects
cd projects
mkdir helloworld
cd helloworld
code .

创建主函数

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

3、运行与调试

1)程序运行

ubuntu系统vscodeC++编译环境配置与使用方式

ubuntu系统vscodeC++编译环境配置与使用方式

2)tasks.json模板

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "C/C++: g++ build active file",
      "command": "/usr/bin/g++",
      "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
      "options": {
        "cwd": "/usr/bin"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "Task generated by Debugger."
    }
  ]
}

3)程序调试

从播放按钮旁边的下拉菜单中,选择Debug C/C++ File

ubuntu系统vscodeC++编译环境配置与使用方式

ubuntu系统vscodeC++编译环境配置与使用方式

4)launch.json文件模板

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }

    ]
}

5)c_cpp_properties.json文件模板

如果您想更好地控制 C/C++ 扩展,您可以创建一个c_cpp_properties.json文件,该文件将允许您更改设置,例如编译器的路径、包含路径、C++ 标准(默认为 C++17)等等

ubuntu系统vscodeC++编译环境配置与使用方式

ubuntu系统vscodeC++编译环境配置与使用方式


头文件:如果您的程序包含不在工作区或标准库路径中的头文件,您只需要修改Include path Visual Studio Code 将这些设置放在.vscode/c_cpp_properties.json

二、配置文件

Vscode通常需要配置三个文件:

  • tasks.json (编译器配置文件)
  • launch.json (调试器配置文件)
  • c_cpp_properties.json (编译器路径和intellisense设置)

1、配置文件生成方法

① tasks.json : 编译器构建 配置文件 ;

终端-配置任务

ubuntu系统vscodeC++编译环境配置与使用方式

② launch.json : 调试器设置 配置文件 ;

ctrl+shift+D,创建 launch.json文件

ubuntu系统vscodeC++编译环境配置与使用方式

③ c_cpp_properties.json : 编译器路径和智能代码提示 配置文件 ;

Ctrl+Shift+P,输入C/C++:Edit Configuration

ubuntu系统vscodeC++编译环境配置与使用方式

2、配置文件解析

①tasks.json解析

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "C/C++: g++ build active file",
      "command": "/usr/bin/g++",
      "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
      "options": {
        "cwd": "/usr/bin"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "Task generated by Debugger."
    }
  ]
}
  • command:设置制定要运行的程序,一般为g++
  • args:用数组的形式,将指定的g++命令行参数传入,必须按照编译器顺序进行制定。本task文件的含义是
  • label:任务列表中看到的名字,可以任意命名
  • detail:将在任务列表中作为任务描述的值

修改task.json文件主要修改args部分

  • 使用"${workspaceFolder}/*.cpp" 代替${file} ,这将编译文件夹中所有的CPP文件
  • 使用自定义的名字如helloworld.out代替"${fileDirname}/${fileBasenameNoExtension}" 

更多args配置参数,可以参考:https://code.visualstudio.com/docs/editor/variables-reference

②launch.json文件解析

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }

    ]
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

原文地址:https://blog.csdn.net/zeye5731/article/details/125908236
 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Ubuntu使用——15(thinkphp路由报错Non-static method think\Route::get() should not be called statically)
    Ubuntu使用——15(thinkphp路由报错Non-static
    在route.php中添加代码:use think\Route;Route::get('/',function (){return 'hello world';});在浏览器中输入http://localhost/tp5-git/public/index.php,报错:[8192] ErrorException in route.php line 13Non-static method think\Route::get() should n
    03-08
  • Ubuntu与Window双系统安装的注意事项
    Ubuntu与Window双系统安装的注意事项
      UBUNTU与WINDOW双系统安装的注意事项 由 匿名 (未验证) 提交于 2019-05-18 10:07:41登录 发表评论29 次浏览假定电脑里面已经存在了Window系统,安装另外一个Linux系统:第一:首先确定电脑里面的window系统引导方式电脑系统的引导方式分为:(1)传统
    03-08
  • Ubuntu 图形界面损坏修复方法!!!亲测有用!!!
    Ubuntu 图形界面损坏修复方法!!!亲测有用!
    1.现象今天做实验的时候打开Ubuntu虚拟机,输入密码之后发现变成这样:然后重新开机,到了输入密码界面不输入,而是输入快捷键CTRL+alt+F1,输入用户名+密码进入之后输入ls,发现我的文件还在,心想这不是系统炸了啊上网搜说是图形界面损坏于是重新来:(参考
    03-08
  • Ubuntu终端输入异常、无法退格(删除文本)、使用方向键命令
    Ubuntu终端输入异常、无法退格(删除文本)、使
    1 起因为了学习嵌入式开发安装去安装的ncurses库,使用命令:sudo apt-get install libncurses5-dev导致系统自带的ncurses-base被自动删除。2 出现的问题误删ncurses-base后导致终端输入窗口出现了一系列的问题:Ubuntu终端输入无法退格(删除文本)、使用↑
    03-08
  • Raspberry Pi (Ubuntu) 上的 VNC 无监视器
    Raspberry Pi (Ubuntu) 上的 VNC 无监视器
    超级方便的无监视器VNC方便的树莓派远程桌面操作,无需显示器\(^^)/通过在页面末尾设置“无显示器设置”,可以在启动树莓派之前和之后连接和断开 HDMI 显示器电缆(这很重要)。来自主 PC 的远程桌面环境树莓派 4Ubuntu 20.04(64位)服务器+桌面设置VNC 设
    03-08
  • 免费供个人使用最多3个! !我尝试注册 ESM 将 Ubuntu LTS 版本的支持期延长 5 年
    免费供个人使用最多3个! !我尝试注册 ESM 将
    我个人使用 Ubuntu 作为我的 Linux 机器的操作系统。 Ubuntu 有正常版本和 LTS(长期支持)版本的操作系统。至此,版本号奇数为普通版,偶数为LTS版,LTS版长期支持5年,而普通版有支持期半年左右。。由于Linux机器用作GPU服务器,由于驱动程序和库的兼容性等
    03-08
  • [WSL2 Ubuntu22.04] 尝试使用 WSLg 运行 Elixir Desktop(未完成)
    [WSL2 Ubuntu22.04] 尝试使用 WSLg 运行 Elixir
    现状启用 WSLg 后,Elixir Desktop 会不会像在 Ubuntu 上一样工作?Elixir 桌面示例我试着跑步窗口显示并似乎在移动,但 Todo 应用程序未显示在窗口中。这是一个空白的显示。显示窗口和菜单。Extra 的内容也可以单独使用。如果您使用 Extra 的 Open Browser
    03-08
  • Ubuntu+Fedora进阶学习,指令迅速查询,Bug迅速查询(Ctrl+F)
    Ubuntu+Fedora进阶学习,指令迅速查询,Bug迅速
    There is some notes while I am learning Ubuntu Operate System!(Ask Ubuntu  Fedora)1-- Hard link : ln command have different parm. Hard link means that the two files is connect together for backup the original files.If you edit any of the t
    02-10
  • debian/ubuntu系统vi无法删除字符的解决办法
    之前在 Linux 下操作,一直使用的是 Centos 系统,使用 vi 编辑命令一直很顺畅。 最近,入手了一台 debian 操作系统的 vps。在操作 vi 命令时,发现当输入 i 要进行文件编辑时,上下左右的光标无法移动,屏幕上总会出现字符,而且 backspace 只能后退,无法
    02-10
  • ubuntu12.04下使用qemu模拟mips处理器安装debia
    注:ubuntu是不支持mips处理器的,只能在x86下安装运行第一步、安装qemusudo apt-get install qemu qemu-system 。执行 qemu-system-mips --version 发现版本太低,因为后面需要更高版本的qemu。 下载http://wiki.qemu-project.org/download/qemu-2.1.2.tar.
    02-10
点击排行