安装bear ,生成加载工程路径文件
Bear
用于生成oclint工程信息加载文件
compile_commands.json
正确执行:
git clone https://github.com/rizsotto/Bear.git
执行如下指令:
二 安装oclint
1
)下载、安装oclint-0.13.1
解压oclint-0. 13.1
.zip,在解压后oclint-0. 13.1
文件夹内的
oclint-scripts文件夹下执行 ./make
下载地址:https://github.com/oclint/oclint/releases/tag/v0.13.1
配置环境变量
在
.bashrc中添加
export OCLINT_HOME=/home/liningning/lnntool/oclint-0.13.1
export PATH=$OCLINT_HOME/bin:$PATH
2. 使用户环境变量生效
source .bashrc
3. 设置环境变量
vim /etc/profile
export OCLINT_HOME=/home/liningning/lnntool/oclint-0.13.1
export PATH=$OCLINT_HOME/bin:$PATH
或 在oclint安装路径bin
执行以下命令:cp bin/oclint* /usr/local/bin/
cp -rp lib/* /usr/local/lib/
cp -rp include/* /usr/local/include/
即使没有安装,oclint也可以直接从bin文件夹唤起
三 llvm 安装
llvm
为oclint依赖文件
compile_commands.json的编译环境
下载llvm-5.0.1.src.tar.xz
解压 tar -xf llvm-5.0.1.src.tar.xz
执行以下命令安装llvm
mkdir -v build &&
cd build &&
CC=gcc CXX=g++ \
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DLLVM_ENABLE_FFI=ON \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_BUILD_LLVM_DYLIB=ON \
-DLLVM_TARGETS_TO_BUILD="host;AMDGPU" \
-Wno-dev .. &&
Make
四 验证
1)代码工程中/var/lib/jenkins/workspace/sonar下使用 make 编译(sonar 为新建的工程名,内容为工程源码)
2)在工程/var/lib/jenkins/workspace/sonar路径下:sudo bear make ,产生 compile_commands.json 中间文件文件。
3)在compile_commands.json 所在路径下
执行指令:
oclint-json-compilation-database -e Pods -- -rc=LONG_LINE=200 -rc=NCSS_METHOD=100 -max-priority-1 20 -max-priority-2 50 -max-priority-3 100 -report-type html -o pmd.html
或
oclint-json-compilation-database -e Pods -- -rc=LONG_LINE=200 -rc=NCSS_METHOD=100 -max-priority-1 20 -max-priority-2 50 -max-priority-3 100 -report-type pmd -o pmd.xml
执行 ll -tr 查看新生成 pmd.xml,说明安装成功。