VSCode使用clangd插件找不到项目自己的头文件解决总结 您所在的位置:网站首页 gcc找不到头文件sys VSCode使用clangd插件找不到项目自己的头文件解决总结

VSCode使用clangd插件找不到项目自己的头文件解决总结

2023-09-18 17:06| 来源: 网络整理| 查看: 265

如题,最近在编译一个c++项目,本来项目是visual studio的,但是我不想用这个ide来编写代码,因为有些操作感觉特别别扭,我自己已经把vscode的环境搭好了,所以就把项目转到vscode加一个CMakeLists.txt来进行编译。

        因为这个项目严重依赖windows的东西,用gcc的kit编译很多报错不通过,只能使用visual studio来编译(我自己装的是visio studio community 2019版本),编译是编译能通过,但是项目代码里面的提示clangd提示找不到,我之前写过的一篇解决找不到标准库的Windows安装了Visio Studio 2019,在VSCode中clang报头文件iostream找不到的快速解决办法(记录)_pananflying的博客-CSDN博客https://blog.csdn.net/pananflying/article/details/122906054已经可以正常找得到标准库了,找了半天资料。

        第一认知到,cmake对于不是unix makefile的不会生成compile_commands.json,对于本项目它是MSVC那肯定不会生成,我自己还试了半天的cmake设置CMAKE_EXPORT_COMPILE_COMMANDS=ON。

        第二认知到,clangd可以设置--query-driver=编译器路径,可以方便的查到编译器相关的一些参数和头文件等。

        第三,就是项目找不到自己头文件的解决办法,有点那啥,搜了半天,虽然搜到了答案,奈何被坑到家,下面这里的指定标准库写了可以设置系统的路径,但是他写的文字-l是小写的L,截图里应该是-I是大写的i,搞了半天拷贝他写的字换成我项目的头文件路径老是不行,我一度想放弃了。

WSL+VSCode+Clangd环境配置 (notion.site)https://airchaoz.notion.site/WSL-VSCode-Clangd-3d3356f6d64246178b0dccb64311d749

         因为项目有区别,这个fallback flags不能配置在vscode中的settings中,所以我配置在了项目自己的settings.json中。

{ "clangd.fallbackFlags": [ // 设置clangd代码检查的c++版本,目前默认是c++14 "-std=c++2a", // 增加项目自身头文件依赖路劲,因为使用vs2019编译不会生成compile_command.json文件,项目自己的头文件就不会找到 "-I${workspaceFolder}", // 项目根目录 "-I${workspaceFolder}/third_party/include" // 第三方依赖的头文件目录 ] }

文件位置(项目部分关键字不便展示就打码了):

         最后,请注意每修改/增加一次-I的参数必须要重启vscode才能生效。好了,头文件能找到了,搬砖去了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有