【已解决】VSCode 连接远程 Ubuntu :检测到 #include 错误。请更新 includePath。

文章目录

  • 1. 环境声明
  • 2. 解决过程

在这里插入图片描述

1. 环境声明

即使是同一个报错,在不同的环境中,报错原因、解决方法都是不同的,本文只能解决跟我类似的问题,如果你发现你跟我遇到的问题不太一样,建议寻找其他解法。

必须要吐槽的是:在 CSDN 上搜索这个问题,你可能会看到前几个访问量几万的博客写的都差不多,要你下载一堆东西,还要配置环境变量,我也不敢说他们是错的,但他们的解决方法显然不适用于我。

因为我遇到这个问题,明显是因为 Linux 云服务器的问题,而不是 Windows 本地的问题,我本地 Visual Studio 2022 跑的一点问题都没有,而且我是连接远程服务器写的代码,跟本地压根没有半毛钱关系啊!

好了不说废话了,下面来看看我的问题:

在我使用 VSCode 连接云端 Ubuntu 服务器,写了一些 C++ 代码的时候,所有头文件均爆红,VSCode 提示 检测到 #include 错误。请更新 includePath。 但是写 C 的时候就没事,即使 C 和 C++ 代码使用的是相同的头文件,如:#include <unistd.h> ,在 C 文件里一点事都没有,在 C++ 中就报错。

2. 解决过程

  1. 我想起来这台(ubuntu)服务器好像还没安装 g++,于是使用命令:

    sudo apt install g++
    

    进行安装(CentOS 可能要使用 yum),但是安装后报错依旧;(其实主要问题就是这个)

  2. 于是我打开 CSDN 进行搜索,发现不太对劲,又关了;

  3. 然后我又去问了 ChatGPT,给出如下方法:

    在这里插入图片描述

    ChatGPT 说的已经很接近了,就是因为没有安装 g++,项目目录中缺少了 .vscode 文件夹和 c_cpp_properties.json 文件,这个应该是 VSCode 自动生成的,并且写 C 的时候没有这玩意,写 C++ 的时候才会有,如果你的服务器中没有安装 g++,VSCode 就不知道去哪里找头文件,所以会报错(个人分析不一定准确)。

    ubuntu@VM-20-5-ubuntu:~/Linux/test_5_3$ ll
    total 24
    drwxrwxr-x  5 ubuntu ubuntu 4096 May  4 15:29 ./
    drwxrwxr-x 12 ubuntu ubuntu 4096 May  3 17:03 ../
    drwxrwxr-x  2 ubuntu ubuntu 4096 May  4 15:24 NamedPipe/
    -rw-rw-r--  1 ubuntu ubuntu  884 May  3 17:18 test.c
    drwxrwxr-x  2 ubuntu ubuntu 4096 May  3 18:27 TestPipe/
    drwxrwxr-x  2 ubuntu ubuntu 4096 May  4 15:29 .vscode/	# 查看是否缺少这个文件夹(在项目目录中)
    ubuntu@VM-20-5-ubuntu:~/Linux/test_5_3$ tree .vscode/	# 查看文件结构
    .vscode/
    └── c_cpp_properties.json0 directories, 1 file
    
  4. 所以我们只需要在服务器上安装 g++,然后重启 VSCode,让他自动生成这个文件就行了。

  5. 就是这么简单,不需要在电脑上下载奇怪的东西,也不需要乱改环境变量,因为这是服务器的问题,而不是自己电脑的问题。


如果本文未能解决你的问题,欢迎在评论区留言讨论

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/831678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STD10A230XCB电源模块STD05A230XCB整流模块介绍

STD10A230XCB电源模块STD05A230XCB整流模块介绍&#xff0c;直流屏电源模块STD05A230XCB&#xff0c;整流模块STD10A115XCB&#xff0c;STD20A115XCB&#xff0c;STD10A230X&#xff0c;STD05A230X&#xff0c;直流屏充电模块的关键词: 电力智能高频开关充电模块STD20A230XCB,高…

SPRINGBOOT高级教程知识

************************************************************************************************************************************************************** 1、Springboot与缓存 【1】访问量大、临时性数据 【2】JSR107&#xff08;用的少&#xff09;、缓存抽象…

linux下C热补丁

linux运行进程热补丁&#xff08;一&#xff09;之函数替换_linux 热补丁的实现-CSDN博客 一、实现目标 在Linux环境下&#xff08;x86_64&#xff09;对正在运行进程的函数替换&#xff0c;不改变该进程的可执行文件内容&#xff0c;通过使用汇编指令JMP完成运行中进程的函数…

【科研技术】华为为什么不给微信特权?

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验&#xff0c;帮助大家尽早适应研究生生活&#xff0c;尽快了解科研的本质。祝一切顺利&#xff01;—…

# 从浅入深 学习 SpringCloud 微服务架构(七)Hystrix(4)

从浅入深 学习 SpringCloud 微服务架构&#xff08;七&#xff09;Hystrix&#xff08;4&#xff09; 一、hystrix&#xff1a;使用 turbine 聚合所有的 hytrix 的监控数据测试。创建父工程 spring_cloud_hystrix_demo&#xff0c;导入相关依赖坐标。并在父工程 spring_cloud_…

简历总结:打造HR无法拒绝的简历

最近要秋招实习了&#xff0c;看了一下实习简历应该如何正确展开书写&#xff0c;写下这篇博客来记录一下。 油管&#xff1a;神奇4步法&#xff0c;打造HR无法拒绝的简历 明确目标 针对不同的岗位编写不同的简历&#xff0c;具体内容可以针对不同岗位的要求。 筛选经历 将自…

C语言/数据结构——每日一题(移除链表元素)

一.前言 今天在leetcode刷到了一道关于单链表的题。想着和大家分享一下。废话不多说&#xff0c;让我们开始今天的知识分享吧。 二.正文 1.1题目要求 1.2思路剖析 我们可以创建一个新的单链表&#xff0c;然后通过对原单链表的遍历&#xff0c;将数据不等于val的节点移到新…

图床搭建GitHub+PicGo+jsdelivr(CDN)+Typora(内附加速工具)

目录 安装PicGo GitHub配置与加速器 配置PicGo 使用typroa 安装PicGo PicGo是一个用于上传图片的客户端&#xff0c;支持拖拽上传、剪贴板上传&#xff0c;功能十分方便。 下载地址&#xff1a; https://github.com/Molunerfinn/PicGo/releases 个人网盘自取版本2.4.0…

了解并学会使用反射

目录 一、反射的应用场景&#xff08;简单了解&#xff09; 二、反射的定义 三、关于反射的四个重要的类 四、反射的使用 1.Class获取一个class对象的方式 方式一&#xff1a;forName&#xff08;&#xff09;&#xff1a; 方式二&#xff1a;封装类.Class&#xff1a; …

【stomp 实战】Spring websocket 用户订阅和会话的管理源码分析

通过Spring websocket 用户校验和业务会话绑定我们学会了如何将业务会话绑定到spring websocket会话上。通过这一节&#xff0c;我们来分析一下会话和订阅的实现 用户会话的数据结构 SessionInfo 用户会话 用户会话定义如下&#xff1a; private static final class Sessio…

怎么让电脑耳机和音响都有声音

电脑耳机音响不能同时用没声音怎么办 一般来说&#xff0c;重新开机后问题能够得到解决。右击“我的电脑”---“属性”---“硬件”---“设备管理器”&#xff0c;打开“声音、视频和游戏控制器”有无问题&#xff0c;即看前面有没有出现黄色的“”。 如果您的 电脑 耳机能正常…

VMware虚拟机中ubuntu使用记录(4)—— 如何在VMware虚拟机中调用本机电脑的摄像头

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、虚拟机调用本机摄像头(1) 启动VMware USB 服务(2) 连接本机摄像头(3) 测试摄像头的连接 前言 通过配置虚拟机调用本机摄像头&#xff0c;用户可以在虚拟机…

redis集群的创建安装与配置,以及维护

一、redis集群配置 port 7000 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes 二、安装ruby&#xff08;ruby可以充当redis客户端的角色&#xff09; yum -y install ruby ruby-devel rubygems rpm-build gem install …

【SQL】根据条件分组,并根据条件取最大的这一条数据

数据&#xff0c;当字段A相同时&#xff0c;取字段B数值大的这一条数据 ABC123114223234 期望结果 ABC123234 Oracle SELECT A, B, C FROM (SELECT A, B, C,ROW_NUMBER() OVER (PARTITION BY A ORDER BY B DESC) AS rnFROM 表名 ) WHERE rn 1; MySql SELECT t1.A, t1.B,…

Redis---------实现商品秒杀业务,包括唯一ID,超卖问题,分布式锁

订单ID必须是唯一 唯一ID构成&#xff1a; 代码生成唯一ID&#xff1a; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Component; import java.time.LocalDateTime; import java.time.ZoneOffset; import java.tim…

Java内存中的垃圾回收是如何实现的

Java内存中的垃圾回收是通过Java虚拟机&#xff08;JVM&#xff09;的垃圾收集器&#xff08;Garbage Collector&#xff09;来实现的。垃圾收集器自动管理Java堆内存中的对象&#xff0c;通过识别并回收不再使用的对象来释放内存空间&#xff0c;从而防止内存泄漏和内存溢出等…

JAVASE相关知识补充

基础知识 类作为成员变量类型&#xff1a; 接口作为成员变量类型&#xff1a; 接口作为方法的参数或者返回值 Object类&#xff1a; java.lang.object 类object是类层次结构的超&#xff08;根&#xff09;类 每个类都是用object作为父类 所有对象包括数组都实现这个类的…

【论文阅读】Learning Texture Transformer Network for Image Super-Resolution

Learning Texture Transformer Network for Image Super-Resolution 论文地址Abstract1. 简介2.相关工作2.1单图像超分辨率2.2 Reference-based Image Super-Resolution 3. 方法3.1. Texture TransformerLearnable Texture Extractor 可学习的纹理提取器。Relevance Embedding.…

什么是binutils-arm-linux-gnueabi

2024年5月3日&#xff0c;周五晚上 binutils-arm-linux-gnueabi 是针对 ARM 架构的 Linux 系统开发的 GNU Binutils 工具链。Binutils 是一组用于汇编、链接和转换目标文件的工具&#xff0c;包括 as (汇编器)、ld (链接器)、objcopy (目标文件转换工具) 等。 binutils-arm-li…

【Nginx 开发】Nginx高可用集群

配置集群 高可用集群配置高可用集群 高可用集群 为什么需要配置Nginx集群&#xff1a; 在实际开发过程中Nginx也有可能宕机&#xff0c;如果我们能够将Nginx配置成高可用&#xff0c;当Nginx宕机之后&#xff0c;在集群中我们可以将请求转发到从Nginx服务器当中&#xff0c;由…