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

文章目录

  • [1. 环境声明](#1. 环境声明)
  • [2. 解决过程](#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++,于是使用命令:

    bash 复制代码
    sudo apt install g++

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

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

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

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

    bash 复制代码
    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.json
    
    0 directories, 1 file
  4. 所以我们只需要在服务器上安装 g++,然后重启 VSCode,让他自动生成这个文件就行了。

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


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

相关推荐
小江村儿的文杰35 分钟前
XCode Build时遇到 .entitlements could not be opened 的问题
ide·macos·ue4·xcode
机器视觉知识推荐、就业指导38 分钟前
C++设计模式:建造者模式(Builder) 房屋建造案例
c++
朝九晚五ฺ1 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream1 小时前
Linux的桌面
linux
为什么每天的风都这么大1 小时前
Vscode/Code-server无网环境安装通义灵码
ide·vscode·阿里云·编辑器·ai编程·code-server
xiaozhiwise1 小时前
Makefile 之 自动化变量
linux
Yang.993 小时前
基于Windows系统用C++做一个点名工具
c++·windows·sql·visual studio code·sqlite3
熬夜学编程的小王3 小时前
【初阶数据结构篇】双向链表的实现(赋源码)
数据结构·c++·链表·双向链表
zz40_3 小时前
C++自己写类 和 运算符重载函数
c++