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

yizhihongxing

下面是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日

相关文章

  • Android判断应用程序退到后台的方法(示例代码)

    当一个Android应用程序退到后台时,可以使用以下方法进行判断。首先,我们需要了解Android的生命周期方法。当应用程序退到后台时,系统会调用onPause()方法,然后调用onStop()方法。因此,我们可以在这两个方法中进行判断。 以下是一个示例代码,演示了如何判断应用程序是否退到后台: public class MainActivity exten…

    other 2023年9月7日
    00
  • js日期增加或减少一天

    以下是关于“JS日期增加或减少一天”的完整攻略,包括基本概念、解决方法、示例说明和注意事项。 基本概念 在JavaScript中,日期是一个内置对象,可以用于表示日期和时间。日期对象有许多方法,可以用于获取、设置和日期和时间。其中,增加或减少一天是常见的操作之一。 解决方法 以下是JS日期增加或减少一天的解决方法: 使用setDate()方法 使用getDa…

    other 2023年5月7日
    00
  • 关于Win10下MySQL5.7.17免安装版基本配置教程(图文详解)

    下面就来详细讲解一下“关于Win10下MySQL5.7.17免安装版基本配置教程(图文详解)”的完整攻略。 1. 下载MySQL 首先,我们需要下载MySQL,可以在官网上下载免安装版MySQL:https://dev.mysql.com/downloads/mysql/。 建议下载zip压缩包,然后解压到我们指定的目录,比如:D:\mysql-5.7.17…

    other 2023年6月27日
    00
  • rarcrack工具

    RarCrack工具攻略 RarCrack是一款用于破解RAR文件密码的工具。在本攻略中,我们将介绍如何使用Rarack工具破解RAR文件密码,并提供两个示例说明。 安装RarCrack 在使用RarCr之前,需要安装该工具。以下是在Ubuntu系统上安装RarCrack的步骤: 打开终端,输入以下命令,安装必依赖项: bash sudo apt-get i…

    other 2023年5月6日
    00
  • 在Linux命令行中创建和展示幻灯片的教程

    下面是在Linux命令行中创建和展示幻灯片的详细攻略。 安装软件 首先需要安装libreoffice软件来创建幻灯片,可以通过以下命令进行安装: sudo apt-get update sudo apt-get install libreoffice 创建幻灯片 使用libreoffice命令可以启动软件,进入图形化界面创建幻灯片,然而在命令行中输入libr…

    other 2023年6月26日
    00
  • 详解Nginx中的Rewrite的重定向配置与实践

    详解Nginx中的Rewrite的重定向配置与实践 在Nginx中,Rewrite模块提供了强大的重定向功能,可以通过配置文件对URL进行重写和重定向。本攻略将详细介绍Nginx中Rewrite的配置和实践,并提供两个示例说明。 1. Rewrite配置语法 Rewrite配置语法如下: rewrite regex replacement [flag]; r…

    other 2023年7月29日
    00
  • java实现TCP socket和UDP socket的实例

    Java实现TCP Socket和UDP Socket是网络编程中非常常见的任务。在此,我将向你介绍Java实现TCP和UDP Socket的完整攻略。 TCP Socket 步骤 Java实现TCP Socket的步骤如下: 1.创建一个ServerSocket对象,绑定IP地址和端口号 ServerSocket serverSocket = new Se…

    other 2023年6月27日
    00
  • iOS9.3.3越狱出现Sub-process/usr/bin/dpkg returned an error code(2)解决方法介绍

    iOS9.3.3越狱出现Sub-process/usr/bin/dpkg returned an error code(2)解决方法介绍 问题简述 在进行iOS 9.3.3越狱过程中,有时会出现Sub-process/usr/bin/dpkg returned an error code(2)错误提示。该提示意味着越狱进程在执行”dpkg”命令(Debian…

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