如何在 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的主要内容,如果未能解决你的问题,请参考以下文章
使用 CPPCHECK 在 Red Hat Enterprise Linux (RHEL) 上出现 C++ 宏问题
有人可以澄清 Mac OSX 安装中 cppcheck 中的 Homebrew 是啥吗