# Cppcheck 安裝 對於 Ubuntu Linux 20.04-LTS (含以上版本)來說,最簡單的安裝方法是直接使用 `apt` 進行 cppcheck 的安裝。 安裝玩之後可以使用 `cppcheck --version` 來檢查版本,對於 Ubuntu Linux 20.04-LTS 來說可以安裝到 cppcheck v1.90,其他版本的 Ubuntu 作業系統會安裝的 cppcheck 版本可以從[Ubuntu packages](https://packages.ubuntu.com/search?keywords=cppcheck) 查看。 ```shell $ sudo apt install cppcheck $ cppcheck --version ``` 如果想安裝更新版本的 cppcheck,可以選擇從 source 直接編譯。 1. 找一個合適的目錄(我是用 ~/Downloads)從 Github 上把 cppcheck 的 [souce code](https://github.com/danmar/cppcheck) 複製到本地。 ```shell $ cd ~/Downloads $ git clone https://github.com/danmar/cppcheck.git ``` 2. 進入到 `cppcheck` 目錄並切換到想要編譯的版本,這邊我選用最新的 2.7 版。 ```shell $ cd cppcheck $ git checkout tags/2.7 ``` 3. 接下來就要對 cppcheck 進行編譯,根據 [cppcheck](https://github.com/danmar/cppcheck#compiling) 提供的編譯指南,我們可以選用多種編譯工具,在這邊我選用 `gnu make` 並使用官方推薦的編譯選項。官方的推薦選項需要 `PCRE`,最簡單的方式也是透過 `apt` 來進行安裝。 ```shell $ sudo apt install libpcre3 libpcre3-dev ``` 4. 接下來即可使用官方推薦的編譯選項進行編譯及安裝(使用 `sudo` 來確保有權限能夠操作 `/usr/share/cppcheck`)。 ```shell $ sudo make install MATCHCOMPILER=yes FILESDIR=/usr/share/cppcheck HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function" # 編譯訊息結束之後應該會跳出以下安裝訊息 install -d /usr/bin install cppcheck /usr/bin install htmlreport/cppcheck-htmlreport /usr/bin install -d /usr/share/cppcheck install -d /usr/share/cppcheck/addons install -m 644 addons/*.py /usr/share/cppcheck/addons install -d /usr/share/cppcheck/cfg install -m 644 cfg/*.cfg /usr/share/cppcheck/cfg install -d /usr/share/cppcheck/platforms install -m 644 platforms/*.xml /usr/share/cppcheck/platforms ``` 5. 安裝完成的可執行檔會放在 `/usr/bin` 之下,其他的一些相關檔案則會放在之前用 `FILESDIR` 指定的位置。 6. 最後就是執行 `cppcheck --version` 檢查是否能夠正確使用以及列出剛剛安裝的版本。 ```shell $ cppcheck --version ``` 7. 如果想要解切換版本的話,可以透過以下命令解除安裝,然後從第二步重新開始。 ```shell $ sudo make uninstall FILESDIR=/usr/share/cppcheck ```