VSCode配置C/C++并添加非工作区头文件的方法

下面是VSCode配置C/C++并添加非工作区头文件的完整攻略:

1. 安装C/C++插件

首先需要在VSCode中安装C/C++插件,可以在左侧菜单栏中选择“扩展”,然后搜索“C/C++”,点击安装即可。

2. 安装Microsoft C++ Build Tools

在Windows环境下,需要安装Microsoft C++ Build Tools。可以从Microsoft官网下载安装包进行安装。

3. 配置tasks.json文件

在VSCode中,需要配置tasks.json文件,用于指定编译命令和运行命令。可以按下方示例进行配置:

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++ build active file",
            "command": "g++",
            "args": [
                "${file}",
                "-g",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                    "kind": "build",
                    "isDefault": true
            }
        }
    ],
    "version": "2.0.0"
}

在上述示例中,使用g++作为编译器,生成可执行文件名与源文件名相同。

4. 配置launch.json文件

在VSCode中,需要配置launch.json文件,用于指定调试命令和调试器。可以按下方示例进行配置:

{
    "version": "0.2.0",
    "configurations": [

        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "gdb",
            "preLaunchTask": "C/C++: g++ build active file"
        }
    ]
}

在上述示例中,使用gdb作为调试器,生成可执行文件名与源文件名相同。

5. 添加非工作区头文件

如果要在源文件中使用非工作区头文件,需要在tasks.json和launch.json中添加路径。例如,假设要使用的头文件在D盘的include文件夹中,可以进行如下配置:

{
    "tasks": [
        {
            // ...
            "args": [
                "${file}",
                "-g",
                "-I",
                "D:/include", // 添加-D参数指定include路径
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            // ...
        }
    ],
    // ...
}

{
    "version": "0.2.0",
    "configurations": [

        {
            // ...
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "gdb",
            "preLaunchTask": "C/C++: g++ build active file",
            "setupCommands": [
                {
                    "description": "Registering Header Files",
                    "text": "-environment-cd D:\\include", // 添加include路径
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

在上述示例中,使用-I和-environment-cd参数分别添加include路径。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VSCode配置C/C++并添加非工作区头文件的方法 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • maven setting.xml文件配置禅定之旅

    下面是”maven setting.xml文件配置禅定之旅”的完整攻略。 1. 介绍 Maven是Java项目对于构建、项目管理、依赖管理和单元测试等方面的一个重要工具。Maven使用一个名为setting.xml的文件进行配置,setting.xml包含了Maven运行所需的配置信息,如镜像源、代理等等,配置setting.xml可以提高Maven构建的效…

    other 2023年6月25日
    00
  • PHP ElasticSearch做搜索实例讲解

    下面就是“PHP ElasticSearch做搜索实例讲解”的完整攻略: 什么是 ElasticSearch? ElasticSearch 是一个开源分布式搜索引擎,使用 Java 编写,底层基于 Lucene 实现。它具有高度的伸缩性、全文搜索功能以及近乎实时的搜索速度,采用 JSON 作为数据交换格式,可以处理结构化、半结构化和非结构化的数据。 Elas…

    other 2023年6月27日
    00
  • python如何停止递归

    停止递归的方法有多种,以下是几种常用的方法: 方法一:设置递归深度 Python 默认的递归深度为 1000,当递归深度超过这个值时会抛出 RecursionError 异常,可以通过设置递归深度来停止递归。 代码示例: import sys sys.setrecursionlimit(2000) # 设置递归深度为 2000 def func(): fun…

    other 2023年6月27日
    00
  • 让浏览器非阻塞加载javascript的几种方法小结

    请听我详细讲解如何让浏览器非阻塞加载 JavaScript 的几种方法。 为什么需要让 JavaScript 非阻塞加载? 在浏览器中,如果一个 JavaScript 脚本没有加载完成,那么页面就会被阻塞,直到这段脚本加载完成后才能继续加载 HTML、CSS 和其他资源,这会导致页面加载速度变慢,用户的体验也会受到影响。因此,我们需要尽可能地让 JavaSc…

    other 2023年6月25日
    00
  • WPF弹出右键菜单时判断鼠标是否选中该项

    为了完整地讲解“WPF弹出右键菜单时判断鼠标是否选中该项”,我将分为以下步骤进行说明: 什么是 WPF 弹出右键菜单? 弹出右键菜单的基本流程 如何判断鼠标是否选中该项 两条示例说明 1. 什么是 WPF 弹出右键菜单? WPF 弹出右键菜单是一种常用的交互方式,它可以让用户通过鼠标右键点击物体或者某个空白区域时,弹出一个菜单供用户选择操作。 2. 弹出右键…

    other 2023年6月27日
    00
  • VS2010中 为图片添加背景图片

    VS2010中 为图片添加背景图片 在使用VS2010进行Windows程序开发时,经常会需要使用图片资源。有时为了美观或展示效果,需要为图片添加背景图片。下面我们就来详细介绍一下VS2010的图片控件如何添加背景图片。 1.创建PictureBox控件 首先,在VS2010的设计界面中创建一个PictureBox控件。右键单击该控件,在弹出菜单中选择“属性…

    其他 2023年3月28日
    00
  • 浅谈golang结构体偷懒初始化

    当我们创建一个新的结构体实例时,需要为每个字段手动分配变量。这可以变得十分繁琐,尤其是当我们的结构体包含大量的字段时。在golang中,我们可以使用结构体字面量(结构体字面量是指在代码中直接为结构体赋值而不是用new或make创建的结构体实例)来简化这一过程。接下来,我们将探讨golang中的三种不同结构体初始化方法。 直接声明 我们可以通过在声明结构体的同…

    other 2023年6月20日
    00
  • c++-如果包含重复元素 如何合并多个vector?

    以下是C++中合并多个vector并保留重复元素的完整攻略: 使用std::vector的insert函数 使用std::vector的insert函数将多个vector合并,并保留重复元素。以下是一个示: #include <iostream> #include <vector> using namespace std; vecto…

    other 2023年5月8日
    00
合作推广
合作推广
分享本页
返回顶部