我使用.clangd
配置文件将编译标志传递给clangd。
我在一个带有C和C++文件的代码库上运行clangd。
如何将一些标志应用于C++文件,而不是C文件?
发布于 2022-03-14 10:09:22
您可以使用多个片段和If
块语法。
示例:
# Fragment common to C and C++ source files
CompileFlags:
Add:
- "--include-directory=some/directory/to/search/includes/in"
- "-D"
- "SOME_MACRO_TO_DEFINE"
- "-include"
- "some/file/to/force/inclusion/of.h"
---
# Fragment specific to C++ source files
If:
PathExclude: [.*\.c, .*\.h]
CompileFlags:
Add:
- "-std=c++17"
---
分隔片段。
根据代码库中的扩展,PathMatch
可能比PathExclude
更实用。
我在clangd 13.0.0上测试了这个。
我得到了这个吉特布问题的帮助。
在clangd官方文件中有更多的帮助。
https://stackoverflow.com/questions/71472340
复制