示例环境:Ubuntu 18.04 LTS
# 安装CodeChecker环境依赖项
# Clang/Clang-tidy可被LLVM/Clang的任意后续版本替代
sudo apt-get install clang clang-tidy build-essential curl doxygen gcc-multilib \ git python-virtualenv python-dev thrift-compiler
# 拉取CodeChecker源代码
git clone https://github.com/Ericsson/CodeChecker.git --depth 1 ~/codechecker
cd ~/codechecker
# 创建Python虚拟化环境
make venv
source $PWD/venv/bin/activate
# 构建并安装CodeChecker
make package
# 添加build目录至环境变量
export PATH="$PWD/build/CodeChecker/bin:$PATH"
cd ..
适配Linux系统或Python版本
如果您已经将系统的Python升级到一个较新的版本(例如,从2.7.6升级到2.7.12——当Ubuntu从14.04.2 LTS升级到16.04.1 LTS时就会这样),那么所安装的环境将无法开箱即用。要修复这个问题,需要运行以下命令来升级您的checker_env:
cd ~/codechecker/venv
virtualenv -p /usr/bin/python2.7 .
在OSX环境中,scan-build中的拦截构建工具用于记录编译器调用。
如果不关闭系统完整性保护(SIP),拦截构建可能无法记录编译器调用。拦截构建可以自动检测是否关闭了SIP。
你可以这样关掉El Capitan的SIP:
command+R启动恢复系统 - 打开Terminal - 输入csrutil disable - 点击return - 重启
# 下载并安装依赖项
brew update
brew install doxygen gcc git
# 安装最新版本Clang/LLVM
brew install llvm@7
# 安装 Thrift 0.9.3
brew unlink thrift
brew install thrift@0.9
# 拉取CodeChecker源代码
git clone https://github.com/Ericsson/CodeChecker.git --depth 1 ~/codechecker
cd ~/codechecker
# 创建Python虚拟化环境
make venv_osx
source $PWD/venv/bin/activate
# 构建并安装CodeChecker
make package
# 添加build目录至环境变量
export PATH="$PWD/build/CodeChecker/bin:$PATH"
cd ..