首先要说明我用的是ubuntu20.04
去https://github.com/github/codeql-cli-binaries/releases下载github项目
丢进虚拟机
我在这里把他放在了~/CodeQL
就是图中的codeql文件夹
要他把添加到环境变量里面
我在这里用的是软连接
cd /usr/bin
sudo ln -s /home/wuangwuang/CodeQL/codeql/codeql codeql
source /etc/profile
这样就是成功了。
然后使用Git下载ql语言工具包
也放在这个文件夹下面
git clone https://github.com/Semmle/ql
创建databases文件夹
下载vscode
然后下载codeql插件
在扩展里面填上可执行程序路径那一栏。
当然就填我可执行程序的那一栏。
我们试图用qemu 的源码实战一下
用的是qemu最新的6.2.0版本的源码
首先下载qemu源码
git clone git://git.qemu-project.org/qemu.git
cd qemu
git checkout 44f28df
tag是这里来的
git.qemu
然后在源码根目录用root权限跑codeql命令
codeql database create test -l=cpp
但是报错
尝试过很多解决方案之后无果
决定研究一下它的整个流程
linux 安装codeql环境 (二)codeql database create通过报错分析其流程
随后解决方法决定下载meson命令
sudo apt install meson
网上搜到的都是下载python中的一个meson包
大乌鱼
然后再来试一下
真是大乌鱼
apt-cache madison meson
查了一下我的虚拟机没有0.58的软件包
meson
下载源码
然后进文件夹
sudo python3 setup.py install
meson -v查看版本
meson好像还不大对
因为又有一个报错
这里的meson这个meson … 就是找到meson.build所在的文件夹
用里面的配置来构建工程
根据报错信息找到这一行
没这个文件
那为啥本来会有这个文件…
看了官方文档以后说我们需要先配置才能有那个文件
我们尝试用configure配置一下
sudo ./configure --target-list=x86_64-softmmu --enable-debug --disable-werror
sudo apt install ninja-build
但是配置完之后还没有那个文件
重新跑一下codeql命令之后发现可以运行了
查看原因是因为在上面分析中
它meson那里还是会报错
但是它会尝试使用configure去配置
它尝试成功了…
所以其实可以直接用configure去配置。
时间挺长 终于结束。