Tho*_*son 5 c++ cmake clang clang-tidy
我有这个cmake项目,我想使用clang-tidy. 为了不让同时发生太多事情,我只激活了该modernize-use-override选项。但是,当我应用此方法时:
$> run-clang-tidy -header-filter='.*' -checks='-*, modernize-use-override' -fix
Run Code Online (Sandbox Code Playgroud)
到项目中,clang-tidy插入override说明符的多个实例,例如:
void update_sizes() override override override etc.
Run Code Online (Sandbox Code Playgroud)
我尝试遵循此处给出的建议并用于cmake创建 json 编译命令数据库:
$>cmake ../../ -DCMAKE_BUILD_TYPE=debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
Run Code Online (Sandbox Code Playgroud)
我通过将编译器设置为系统范围的默认值(使用)来确保cmake它实际上是在选择clang编译器update-alternative。在这种情况下,cmake生成调用 clang 编译器的 make 文件。
我正在使用 Ubuntu 18.10 和 clang 7。
我也尝试过使用clang-6和设置cmake来生成ninja构建脚本而不是make文件,但结果总是一样的。
在应用修复程序之前,整个项目都可以用gcc和clang,编译得很好。
请注意,有一个类似的讨论在这里,但是给出的建议有在使用run-clang-tidy.py,这是我在做什么。因此,我不认为这是重复的。
这与您链接的讨论中提到的问题相同,在我看来它看起来像是一个错误。您有多种选择:
| 归档时间: |
|
| 查看次数: |
580 次 |
| 最近记录: |