如何解决Clang-Tidy - Android Studio 4.1.1
真的很难找到文档/示例,所以我想我会伸出援手。
我的目标: 我希望 clang-tidy 生成一份报告,我最终可以将其提交给 sonarqube 进行分析。
场景设置: 我有一个混合了 Java 和 C++(使用 JNI)的 Android 项目。 这是我移植的遗留 C++(11 之前的版本),并在构成项目的多个文件中使用 CMake 进行编译。 在编辑我的代码时,我可以看到 clang-tidy 在我编码时识别“静态”问题方面做得很好,例如
问题: 作为构建的一部分,我找不到任何有关如何运行 clang-tidy 的特定文档或示例。 Android Studio 显然是通过它的“插件”运行它以突出显示“即时”,所以它一定已经在做我需要的 - 但我就是不知道如何开始得到报告。
我尝试过的:
- 分析->按名称运行检查->Clang-tidy...这会在整个项目中运行,但与我从“即时”分析中看到的数字相比,会产生少量问题。立>
- 将 CMAKE_CXX_CLANG_TIDY 添加到我的顶级 CMakelists.txt 和我的 build.gradle (externalNativeBuild) - 具有各种不同的选项,包括“-checks=-,clang-analyzer-*,-clang-analyzer-cplusplus**”
- 这几乎似乎可以工作,但我只是收到与查找相关的错误: Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\c++\v1\cstddef:44:15:错误:'stddef.h'文件未找到[ clang-diagnostic-error]
- 研究.. 完成了我通常在互联网上的搜索 - 我要么在做一些疯狂的事情,要么只是试图这样做的人只保留自己的方法!
在这里迫切需要任何帮助,感觉这很微不足道,但我组织中的任何人以前都没有尝试过这样的事情。
解决方法
set(CMAKE_CXX_CLANG_TIDY ${ANDROID_TOOLCHAIN_ROOT}/bin/clang-tidy -checks=*)
使用 NDK r23 beta 1 对我有用。我在构建时看到命令行上显示整洁的失败,但没有看到您提到的错误。大概是您不小心使用了主机的 clang-tidy 而不是 NDK 的,因此无法找到 NDK 标头。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。