VS Code 添加头文件路径

12 篇文章 0 订阅
2 篇文章 0 订阅

本文讲述使用VS code编写C++程序,使用非标准库的其他路径下的头文件时编译错误的问题解决办法。

官网路径已详细介绍了VS Code如何安装C++扩展以及配置编译环境:
https://code.visualstudio.com/docs/cpp/config-mingw

整个文章大致流程:

  1. 下载并安装Visual Studio Code
  2. 安装C/C++扩展
  3. 下载Mingw-w64并安装,然后将安装目录下的bin路径加入到环境变量path中
  4. 创建helloworld文件夹, 用 VS Code打开该文件夹并新建cpp文件。
  5. 默认生成3个json配置文件
  6. tasks.json:主要用来编译生成程序的配置文件
  7. launch.json:主要用来调试程序的配置文件
  8. c_cpp_properties.json:主要用来配置IntelliSense的配置文件,即智能提示
  9. 然后可以F5直接调试,有大部分讲的调试内容,虽然是英文,但一般基本都是看得懂的。

这里主要解决的问题是关于 使用非标准库的其他路径下的头文件时编译错误的问题解决办法:
fatal error: *.h: No such file or directory

相信大家都知道ctrl + shift + p 进入C/C++:编辑配置里有一个includePath的配置,但是我们把头文件路径配置进去后,编写代码的时候能智能提示了,但是编译却总是不能通过。

为什么呢?因为我们配置的只是智能提示(IntelliSense)的配置,而非编译生成的配置。
因此,我们需要把关注放到tasks.json上来。

我们知道默认情况下,该配置的内容大致如下

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

此刻我们增加如下:

{
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: g++.exe build active file",
            "command": "C:\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "-I",
                "D:/thirdlib/rapidxml/",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "version": "2.0.0"
}

即:我们增加了一个 -I 选项,并指定了路径,知道g++编译的都知道,这是指定头文件目录。
当我们加完之后,再次编译,通过了。

那么,你现在也明白了吗?

回答: 如果在VS Code中出现头文件和源文件运行错误,可能有几个原因。首先,确保你的代码中正确包含了所需的头文件。如果没有安装C语言的运行环境,例如没有stdio.h文件,即使包含也会找不到。因此,需要先安装C语言的运行环境。另外,如果你在单片机环境下使用了reg52.h头文件,但没有正确配置单片机环境,即使复制了reg52.h文件到工程中,也会出现错误,因为一些特殊的变量和寄存器没有声明。\[1\] 在VS Code中创建新文件时,你可以在文件夹中右键点击并选择新建文件,比如C文件,命名时后缀加.c,C++文件则后缀加.cpp。然后,你可以在文件中编写代码。例如,下面是一个简单的C语言程序: #include <stdio.h> int main() { printf("Hello, World!"); return 0; } \[2\] 此外,如果你在VS Code中使用了.vscode文件夹,需要将其放置在工作区的根目录下。同时,注意路径添加的格式,以逗号隔开,最后一行可以不用逗号。还要确保工作区保存的文件ledc_bsp.code-workspace和.vscode在同一级目录下。\[3\]这些注意事项可以帮助你解决VS Code头文件和源文件运行错误的问题。 #### 引用[.reference_title] - *1* *3* [【VS code找不到头文件】成功解决 (检测到Include错误,请更新includePath)(明明有头文件,却找不到)](https://blog.csdn.net/qq_44078824/article/details/119904218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [解决VScode中:C/C++编译错误导致头文件报错问题](https://blog.csdn.net/weixin_44775494/article/details/127078328)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值