【发布时间】: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)) 但它也没有用。
这个项目只是我展示问题的一个小例子,但它也发生在所有其他项目中。
【问题讨论】:
-
cmake 扩展可以为您完成这些工作,并为您自动构建。
-
我已经有了cmake工具扩展,但是还是不行。
-
我认为有一个扩展正在这样做。我禁用了扩展 C/C++、Cmake Tools 和 Visual Studio Intellicode,它仍然显示找不到头文件。
标签: c++ visual-studio-code cmake intellisense header-files