[英]header file not found VScode but no warnings or errors given
您是否尝试过使用#include "parser.h"
?
来自C 标准 (ISO/IEC 9899:2018 (C18)) ,第6.10.2节“源文件包含”:
2 . 表单的预处理指令
# include < h-char-sequence > new-line
在一系列实现定义的位置中搜索由 < 和 > 定界符之间的指定序列唯一标识的 header,并导致用 header 的全部内容替换该指令。如何指定位置或标识 header 是实现-定义。
3.表单预处理指令# include " q-char-sequence " new-line
导致用 " 分隔符之间的指定序列标识的源文件的全部内容替换该指令。以实现定义的方式搜索指定的源文件。如果不支持此搜索,或者搜索失败,该指令被重新处理,就好像它读取# include < h-char-sequence > new-line
具有与原始指令相同的包含序列(包括 > 字符,如果有的话)。
包含源文件时,如果您使用#include <header.h>
表示法,编译器(在您的情况下为gcc )将在系统目录的标准列表中搜索 header(如果使用,则在-l
之后指定的目录) -l
选项),而如果使用#include "header.h"
符号,编译器将在包含当前文件的目录中搜索 header 。
如果你想知道gcc在哪里寻找源文件,我建议你看看这篇文章。
正如 mikyll98 已详细解释和指出的那样, #include <>
和#include “”
用于不同的事物。 检查您的 parser.h 属于哪种情况。
除了 miky 的回答之外,您还应该检查 header 文件的位置是否对 VScode“可见”。 这就是 json 文件的用武之地。VSCode 设置有时很奇怪(我认为),因为有时您必须求助于 json 配置文件才能完全修改设置,而此类 json 文件的位置/可配置旋钮并不明确。 您可以打开 VSCode 设置,在搜索栏中输入“include path”或“include directories”,然后输入 go 到与 C/C++ 相关的部分。 应该有一个选项,您可以通过 GUI 添加额外的目录,或者让 VSCode 打开一个 json 文件,然后您可以将路径添加到该文件。 但请注意,上述 json 文件的可配置旋钮并不明确,您必须查找 VSCode 的文档网站才能知道要添加哪些特定的 json 属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.