vscode 中用clang遇到问题:clang(pp_file

2021-11-19  本文已影响0人  被误认为吃货的程序猿

问题:clang(pp_file_not_found)的解决方法

vscode 使用clang作为编译器时,还是很好用的。

但是有个问题你可能会遇到,在引入其他库的头文件时,总是找不到。提示:clang(pp_file_not_found)

查了半天也没有找到解决方法。还好在github上看到一个merge:Expand documentation about compile command inference for header files

方法1:

所以我们只需在在vscode的clangd插件的设置中新增参数即可解决,位置:设置-clangd:clangd.arguments
--compile-commands-dir=${workspaceFolder}/build/${buildType}
这里主要就是设置compile_commands.json的路径位置。

或者在settings.json中加:

    "clangd.arguments": [
        "--compile-commands-dir=${workspaceFolder}/build/${buildType}"
    ]

方法2:

设置cmake config完成后,把compile_commands.json拷贝到${workspaceFolder}目录。

位置:设置-cmake:Copy Compile Commands,填写:${workspaceFolder}/compile_commands.json

总结:

很有可能是我更改了cmake的build路径:${workspaceFolder}/build/${buildType},导致生成的compile_commands.json在我更改的路径下面,所以clangd服务,就找不到了,导致无法找到头文件。所以就要用上面两种方法指定路径,或者拷贝到可以找到的地方。

上一篇下一篇

猜你喜欢

热点阅读