如题:

在VSCode中使用clangd插件做语法校验和使用LLVM的clang++编译C++文件老是提示找不到头文件的情况,而且这边已经安装过Visio Studio 2019,所以说环境应该是已经具备了的。奈何,通过clang++ 编译对应的cpp文件的时候还是提示找不到对应的头文件,像iostream找不到,cstdio也找不到。

通过命令行clang++ -c .\cpp14.cpp -v 添加-v参数查到提示ignoring nonexistent directory "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\include"和ignoring nonexistent directory "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\atlmfc\include"。

所以clang并没有去到对应的正确头文件目录去找,我这里的正确路径是 "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include",所以我把安装目录"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037"下的include目录和atlmfc目录

复制到"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC"目录下,如下如所示

 再次执行编译就可以成功不报错了,VSCode中的cpp里也不提示红色下划线找不到头文件了。

 

20220217:更新一下,我发现在环境变量中增加CPLUS_INCLUDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include也是可以,就不需要拷贝的操作。但是我发现Android Studio的NDK编译会引用到这个路径的头文件导致编译报错,所以只能用上面的方法来规避了,如果你们没有用到Android Studio编译NDK可以加环境变量。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐