【问题标题】:vscode intellisense can't find header files included in cmake projectvscode intellisense 找不到 cmake 项目中包含的头文件
【发布时间】:2021-05-11 17:15:45
【问题描述】:

我有一个 cmake 项目,它有:
一个名为 Project1 的静态库
一个名为 Project2 的静态库,它依赖于 Project1
一个名为 Project3 的可执行文件,它依赖于这两个库

一切都按预期工作(makefile,它正在正常构建和运行,...), 但问题是 vscode intellisense 只是在 在每个子目录上使用 target_include_directories 指定的文件夹。

intellisense 可以找到默认的标头(iostream、vector 等)。

示例:https://i.stack.imgur.com/XeVGW.jpg

我也尝试将包含目录放在 c_cpp_properties.json 中:

"includePath": [
    "${workspaceFolder}/Project1/src/**",
    "${workspaceFolder}/Project2/src/**",
    "${workspaceFolder}/Project3/src/**"
]

但它也没有工作。

我还尝试将标题/源手动放入所有 CMakeLists.txt 文件中(不使用文件(GLOB_RECURSE)) 但它也没有用。

这个项目只是我展示问题的一个小例子,但它也发生在所有其他项目中。

项目可以在这里找到:https://github.com/gabrielmaia2/CmakeTest

【问题讨论】:

  • cmake 扩展可以为您完成这些工作,并为您自动构建。
  • 我已经有了cmake工具扩展,但是还是不行。
  • 我认为有一个扩展正在这样做。我禁用了扩展 C/C++、Cmake Tools 和 Visual Studio Intellicode,它仍然显示找不到头文件。

标签: c++ visual-studio-code cmake intellisense header-files


【解决方案1】:

找到了。扩展“C/C++ Clang 命令适配器”显示错误,因为没有配置 clang。我刚刚禁用了它(因为我没有使用它),现在它按预期工作了。

【讨论】:

  • 非常感谢您发布您的解决方案。如果没有您的回答,我永远不会找到“C/C++ Clang 命令适配器”扩展。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-05
  • 2015-01-12
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多