Ubuntu终端cppcheck报错:无法识别--std=c++0x选项的解决方法
解决cppcheck无法识别
--std=c++0x选项的问题 先确认cppcheck版本兼容性
旧版本的cppcheck不支持--std=c++0x这个别名写法,只认--std=c++11这类明确的标准参数。先查你用的CodeChecker Docker容器里的cppcheck版本:docker exec <你的CodeChecker容器名称> cppcheck --version如果版本低于1.80,直接把所有
--std=c++0x替换成--std=c++11即可。修改编译配置与compilation.json
不要只在Eclipse里改配置,因为CodeChecker是基于生成的compilation.json做分析的,得确保编译命令里的参数能被正确识别:- 打开项目的Makefile,把所有出现的
--std=c++0x替换为--std=c++11 - 重新生成compilation.json文件:
CodeChecker log -b "make clean all" -o compilation.json
- 打开项目的Makefile,把所有出现的
强制指定cppcheck分析标准
如果没法修改编译命令里的参数,可以在CodeChecker分析时直接覆盖标准设置,忽略原命令里的--std=c++0x:CodeChecker analyze compilation.json -o reports --cppcheck-args="--std=c++11"升级CodeChecker Docker镜像
若上述方法都没用,可能是你的CodeChecker镜像里的cppcheck版本太老,直接拉取最新版镜像:docker pull ericsson/codechecker:latest
内容的提问来源于stack exchange,提问作者Ramref
相关产品推荐
相关产品推荐

