【已解决】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

相关推荐
Peregrine91 分钟前
Linux 基本指令大全
linux·运维·服务器
纪念 2293 分钟前
c++ string(二)
开发语言·c++
拂拉氏7 分钟前
【知识讲解】 Linux动静态链接认识
linux·动静态链接
sanqima11 分钟前
MFC里的线程本地存储(TLS)与模块状态(Module State)
c++·mfc·tls·module state
见叶之秋11 分钟前
【C++】从基类到派生类:关于C++继承的务实梳理
开发语言·c++
饭来_17 分钟前
Ubuntu 中出现 CondaToSNonInteractiveError 的解决方法
ubuntu·conda·debug
kyle~18 分钟前
C++ 智能指针:RAII、所有权与对象生命周期
开发语言·c++
Huangjin007_41 分钟前
【Linux 系统篇(二十八)】文件(五):Ext 系列文件系统(下):Ext2块组结构,inode与文件寻址原理
linux·运维·服务器
苏辰澈1 小时前
C++独属于自己的变身:多态
c语言·开发语言·c++·visualstudio·编辑器
水饺编程1 小时前
第1章,[Win32 章节]:在 VS2019 里面安装 MSDN
c语言·c++·windows·visual studio