c++ 如何修复PCH警告:标头停止不能在链接块vscode中

k7fdbhmy  于 2023-04-01  发布在  Vscode
关注(0)|答案(1)|浏览(271)

在vscode中,从一个模板创建一个c++项目,然后删除所有模板代码并用我自己的代码替换,我遇到了错误PCH warning: header stop cannot be in a linkage block,它在我的一个#include语句中显示为错误。
还有一些其他SO关注这个主题,但许多人建议更改代码以包含#pragma once或其他修改代码本身的更改。由于这似乎是一个智能感知问题,我想知道一个不涉及代码本身的修复方法。这可能非常麻烦,因为它似乎会阻止其他智能感知功能。

xam8gpfp

xam8gpfp1#

看来我能找到的最好的修复方法是在你的工作区设置json中将0设置为0来关闭C_Cpp.intelliSenseCacheSize
添加此行

...
"settings": {
   "C_Cpp.intelliSenseCacheSize": 0,
...

到你的.code-workspace文件似乎修复了它。可能需要重新加载vscode才能安全。
至于为什么这有帮助,我认为(特别是在我使用模板开始的情况下)我认为这与GitHub问题中的这一行有关:
如果有任何#include头文件可以缓存,IntelliSense将自动生成预编译头文件(PCH)。
因此,它必须从模板中预编译一个头文件,该文件被删除并挂起,因为它是唯一的头文件,或者类似的东西。

相关问题