当前位置: 首页 > news >正文

linux上vscode中.cpp文件中引入头文件.hpp时报错:找不到头文件(启用错误钵形曲线)

当在.cpp文件中引入系统给定的头文件时:#include < iostream >

或者引入自定义的头文件 :#include <success.hpp>

报错:找不到相应的头文件,即在引入头文件的改行底下标出红波浪线

解决方法为:

🚩首先:稳住不要慌,深吸一口气 😏 😏 😏 😏 😏 😏 😏 😏 😏 😏 😏 😏 😏 😏 😏 😏 😏 😏

🚩其次:鼠标对着标红的波浪线,选择【快速修复】打开【编辑includePath设置】,先检查一下几项是否选择正确:

请添加图片描述

系统选择Linux
编译器位置默认安装的都在/usr/bin/g++
模式选择:linux-gcc-x64

请添加图片描述
如果以上三项配置无误,那么引入系统提供的头文件时不会报错的,如果还报错了就往下走

🚩最后:修改c_cpp_properties.json文件中的“includePath”/usr/include,我们默认安装的gcc(G++只是GCC的一个组件)的头文件都在此目录下,到此引入系统头文件报错的问题必可解。

如果是自定义的头文件引入报错,解决方法如下 👇:

假设我在zuguo.cpp 中zuguo.hpp头文件,且两个文件都在同一目录下

一般是不会报错的,因为没地方说理去啊,这都能报错,这他妈天上掉钱的概率,你说是不是兄台。

如果报错了检查一下是不是c_cpp_properties.json文件的includePath 设置有错

改为:${workspaceFolder}/**

c_cpp_properties.json文件中的"${workspaceFolder}"是一个变量,表示当前项目的根目录

最通俗的解释是,${workspaceFolder}代表当前项目的文件夹路径

例如,如果当前项目的文件夹路径是/Users/username/myproject,那么在c_cpp_properties.json文件中使用"${workspaceFolder}"就会自动被替换为/Users/username/myproject

这样配置的好处是,在多个项目中使用相同的c_cpp_properties.json文件时,可以避免手动修改每个项目的路径。


😁最后小哥哥提醒各位,千万不要手快开启“禁用错误曲线”,如果已经启用马上去关闭,方法如下👇

左下角【设置】-> 输入c_cpp_error -> 出来的选项中C_Cpp:Erroe Squiggles

选择:Enabled即可,然后重启后生效

如果这种方法不行,别慌,小哥哥再给你教一招:😎

💔💔终极方法:直接ctrl + shift + p 之后直接搜索:启用错误波形曲线,下拉框中弹出来的第一个点一下即可,这种方法保证奏效

请添加图片描述

问题积累:

1、#include "org/eclipse/cyclonedds/topic/datatopic.hpp"爆红:找不到源文件
src/DDS1/111.hpp
src/DDS2/222.hpp
两个头文件之间相互引用,爆红:找不到源文件

直接在c_cpp_properties.json文件的includePath 设置中加入${workspaceFolder}/**${workspaceFolder},直接好了

这两个参数的解释如下:

在VSCode中,这两个配置是用于指定文件搜索路径的。

${workspaceFolder}/**

这个配置是一个字符串,表示要搜索的路径。其中,${workspaceFolder}是一个变量,它表示当前打开的工作空间(workspace)的根目录。**表示递归搜索该目录下的所有文件和子目录。

例如,假设当前打开的工作空间是/Users/username/Documents/Workspaces/my-project,那么${workspaceFolder}/**将搜索该目录下的所有文件和子目录,包括/Users/username/Documents/Workspaces/my-project下的所有文件和子目录。

${workspaceFolder}

这个配置也是一个字符串,表示要搜索的路径。与上一个配置不同的是,它只搜索当前打开的工作空间的根目录,而不是递归搜索该目录下的所有文件和子目录

例如,假设当前打开的工作空间是/Users/username/Documents/Workspaces/my-project,那么${workspaceFolder}将只搜索该目录下的文件,不会搜索该目录下的子目录。

在实际使用中,这些配置通常用于文件搜索、文件跳转等功能中,以指定要搜索的路径范围。根据不同的需求,可以单独使用其中任何一个配置,也可以将它们组合使用,以实现更灵活的文件搜索和跳转功能。

http://www.lryc.cn/news/155646.html

相关文章:

  • Sphinx Docstring
  • JVM的故事——虚拟机类加载机制
  • Sentry 是一个开源的错误监控和日志聚合平台-- 通过docker-compose 安装Sentry
  • Redis 7 第六讲 主从模式(replica)架构篇
  • 学习资源记录 =0=
  • Python import包路径管理
  • OB Cloud助力泡泡玛特打造新一代分布式抽盒机系统
  • Linux socket网络编程实战(tcp)实现双方聊天
  • BuhoCleaner for mac:让你的Mac重获新生
  • 陶氏公司将出席2023第二届中国汽车碳中和峰会
  • 【linux命令讲解大全】051.Linux Awk脚本语言中的字段定界符和流程控制
  • Gradle下载安装教程
  • Python 之 match 表达式
  • .NET Framework 微软官方下载地址
  • OpenCV(十四):ROI区域截取
  • Java学习笔记之----I/O(输入/输出)一
  • 介绍GitHub
  • js常用的循环遍历
  • 存量时代的面经
  • Python入门教程 | Python 流程控制语句
  • 力扣:83. 删除排序链表中的重复元素(Python3)
  • iKeyPrime完美解4G信号,可以登录iCloud,有消息通知,支持最新iOS16.6。
  • micro python 编译流程和方法,以及一部分问题解决
  • AI篇-chatgpt基本用法(文心一言也适用)
  • Python小知识 - 使用Python进行数据分析
  • Pytorch.tensor 相关用法
  • 信维通信投资者关系活动:揭示5G创新实践,展望未来发展
  • AOP进阶-通知顺序
  • Sui流动性质押黑客松|本周Workshop预告
  • 数学建模:线性与非线性优化算法