首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >clang静态分析器(scan-build)可以与cmake --build一起使用吗?

clang静态分析器(scan-build)可以与cmake --build一起使用吗?
EN

Stack Overflow用户
提问于 2017-02-22 22:01:15
回答 1查看 2.6K关注 0票数 10

我想使用clang静态分析器命令行工具

在方便的情况下

..。

最多

资源

我在网上发现,似乎你需要一个分两步走的过程:

代码语言:javascript
复制
scan-build cmake .
scan-build make

例如,对于这个带有错误的小示例程序,

捕获:

代码语言:javascript
复制
#include 

int fun() {
    int x;
    return x; # main.cpp:5:5: warning: Undefined or garbage value returned to caller

}

int main() {
    int a = fun();

    std::cout << "Hello, World! " << a << std::endl;
}
代码语言:javascript
复制
cmake_minimum_required(VERSION 3.5)
project(test_program)

set(CMAKE_CXX_STANDARD 11)

set(SOURCE_FILES main.cpp)
add_executable(test_program ${SOURCE_FILES})

如果我运行

即使构建了二进制文件,它也找不到bug。有没有什么方法可以

在一个步骤的过程中使用CMake?

EN

回答 1

Stack Overflow用户

发布于 2021-03-01 03:23:33

如果要使用Clang Static Analyzer,只需设置

..。这将创建一个

编译数据库

CSA可以读取。你甚至不需要构建你的项目。该文件位于:

..。

是为那些不能自己创建编译数据库的项目设计的。

然后你可以运行:

代码语言:javascript
复制
analyze-build --cdb /path/to/build/compile_commands.json \
              --use-analyzer /path/to/clang \
              --output /path/to/output

值得注意的是,

已经完成了所有的CSA检查。您可以使用同样的编译数据库技术来运行

在你的代码库上。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42393627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档