[英]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.