如何在 Linux 服务器上安装 Cppcheck

Posted

技术标签:

【中文标题】如何在 Linux 服务器上安装 Cppcheck【英文标题】:How to install Cppcheck on a Linux server 【发布时间】:2017-03-23 12:23:53 【问题描述】:

我想为 SonarQube 使用 Cppcheck 的 XML 报告。

https://github.com/SonarOpenCommunity/sonar-cxx/wiki/Code-checkers

但是在 Cppcheck 的官方网站上,我没有找到任何关于在 Linux 服务器上安装的帮助。

有人对此有任何可行的解决方案吗?

编辑: 我喜欢 sonarqube 标签消失的方式,谢谢@G。再次,为了不断的“支持”。删除它是多么方便,而不是帮助或让某人帮助也有这些问题的人。与问题无关,是的。

那你猜怎么着:我的老板想演示这个工具,但现在肯定告诉他不要购买商业版。一切都与一切无关。 2017 年的良好营销。

【问题讨论】:

【参考方案1】:

据我所知,没有为 Linux 构建的 Cppcheck 软件包。但是,您可以轻松地从 GitHub (https://github.com/danmar/cppcheck) 克隆 Cppcheck 存储库并自己构建它。它没有额外的依赖,因此很容易构建:

cd cppcheck-master
make

另外,我不确定是否将 Cppcheck 与 SonarQube 集成,但有一篇关于 SonarQube 配置的详细文章,您可能会在那里找到有用的东西:https://www.viva64.com/en/m/0037/

【讨论】:

感谢您的回复,将尝试。嗯,SonarQube理论上可以分析Cppcheck产生的xml。 无法在服务器上构建它。 lib/analyzerinfo.cpp:113: error: 'struct std::string' has no member named 'back' make: *** [lib/analyzerinfo.o] Error 1 尝试在本地构建它,然后将其移动到远程,但是在运行可执行文件 (./cppcheck) 时它会错过那里的库:./cppcheck: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.15' not found (required by ./cppcheck) ./cppcheck: /lib64/libc.so.6: version GLIBC_2.14' not found (required by ./cppcheck) 感谢您的澄清。好吧,如果您在不同的平台上构建 cppcheck,预计您的服务器上会缺少一些库。我建议您直接在服务器上构建 cppcheck。错误lib/analyzerinfo.cpp:113: error: 'struct std::string' has no member named 'back' make: *** [lib/analyzerinfo.o] Error 1表示cppcheck项目使用了C++11的特性,而你的GCC版本不支持。您可以通过发出gcc --version 来检查 GCC 的版本并将其更新到最新版本。 或者,作为替代解决方案,您可以尝试在 Makefile 中指定 -std 标志,如下所示:CXXFLAGS=-std=c++11

以上是关于如何在 Linux 服务器上安装 Cppcheck的主要内容,如果未能解决你的问题,请参考以下文章

在sublime中使用cppcheck

使用 CPPCHECK 在 Red Hat Enterprise Linux (RHEL) 上出现 C++ 宏问题

“CPPCheck 插件包”包未正确加载

有人可以澄清 Mac OSX 安装中 cppcheck 中的 Homebrew 是啥吗

JenKins结合cppcheck及cpplint进行代码风格及静态代码检测

如何在 cppcheck 中抑制库代码的输出?