我正在尝试通过 telnet 在 Linux 机器上安装 Cppcheck。我有 cppcheck-1.67.tar 文件并解压它。我没有看到任何可以为我安装它的东西。我以正确的方式接近这个吗?
问问题
13851 次
5 回答
6
实际发布日期为该答案。
转到用于下载的文件夹
cd ~/Downloads/
解压存档
tar -xvf cppcheck-1.76.1.tar.bz2
进入解压文件夹
cd cppcheck-1.76.1/
以root身份安装包
sudo make install
检查结果
$ which cppcheck /usr/bin/cppcheck
测试它
$ touch simple.c $ echo "int main(){ int a; a + 1; return 0}" > simple.c $ cppcheck simple.c Checking simple.c ... [simple.c:1]: (error) Uninitialized variable: a
该软件包也存在于标准存储库中。
$ aptitude search cppcheck
p cppcheck - tool for static C/C++ code analysis
测试环境
$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 8.6 (jessie)
Release: 8.6
Codename: jessie
$ uname -a
Linux localhost 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19) x86_64 GNU/Linux
于 2016-12-16T08:33:56.710 回答
2
说明在readme.txt
文件中。简短的回答是make install
。
当您可以使用发行版的包管理器时,请记住永远不要从 tar 文件中安装东西。
于 2014-12-18T20:38:52.760 回答
1
readme.txt 文件没有提到“make install”。
看起来提供的 Makefile 很无聊:
它通过“CFG=”参数进行编译,没有 DESTDIR
但是“make install”在 DESTDIR 之前添加到 CFGDIR
就我而言,我编辑了 Makefile 以从 make install 中删除 DESTDIR,cppcheck 对此很满意。
于 2015-04-07T16:46:42.503 回答
1
对我来说,在Ubuntu 18.04 (Bionic Beaver)上的 Docker 中神奇的线条如下:
RUN cd /tmp \
&& git clone https://github.com/danmar/cppcheck.git \
&& cd cppcheck \
&& git checkout 1.72 \
&& make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes install \
&& cd /tmp \
&& rm -rf /tmp/cppcheck \
&& ldconfig
我假设以下内容适用于任何版本。我不确定将配置安装到哪里有意义。这对我有用:
make SRCDIR=build CFGDIR=/usr/bin/cfg HAVE_RULES=yes install
于 2018-12-12T13:54:44.170 回答
0
如果您没有sudo
特权,您可以按照@Seti Volkylany 的回答,将步骤 5 替换为
OUT_PATH=/home/user/bin # target location of binary
make SRCDIR=build CFGDIR=~/Downloads/cppcheck-1.76.1/cfg PREFIX=$OUT_PATH
make install CFGDIR=$OUT_PATH/cppcheck-1.76.1/cfg PREFIX=$OUT_PATH
于 2019-06-24T15:45:09.983 回答