如何在Linux上使用tar文件安装Cppcheck?

时间:2014-12-18 17:20:14

标签: linux install cppcheck

我试图在Linux机器上通过telnet安装Cppcheck。我有cppcheck-1.67.tar文件,我解开它。我没有看到任何可以安装它的东西。我是以正确的方式接近这个吗?

5 个答案:

答案 0 :(得分:3)

此答案的日期发布时的实际情况。

  1. 从那里下载文件https://sourceforge.net/projects/cppcheck/

  2. 转到带有下载内容的文件夹

    cd ~/Downloads/
    
  3. 解压缩档案

    tar -xvf cppcheck-1.76.1.tar.bz2
    
  4. 转到解压缩的文件夹

    cd cppcheck-1.76.1/
    
  5. 以root身份安装软件包

    sudo make install
    
  6. 检查结果

    $ which cppcheck
    /usr/bin/cppcheck
    
  7. 测试

    $ 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
    
  8. 此软件包也存在于标准存储库中。

    $ 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
    

答案 1 :(得分:1)

说明位于readme.txt文件中。简短的回答是make install

请记住,当您可以使用分发包管理器时,永远不要从tar文件中安装东西。

答案 2 :(得分:1)

readme.txt文件未提及" make install"。

看起来提供的Makefile是borked:

  1. 通过" CFG ="编译的参数,没有DESTDIR

  2. 但是" make install"将DESTDIR添加到CFGDIR

  3. 就我而言,我编辑了Makefile以从make install中删除DESTDIR,而cppcheck对此感到满意。

答案 3 :(得分:1)

在我看来,Ubuntu 18.04(仿生海狸)上的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

答案 4 :(得分:0)

如果您没有sudo特权,则可以遵循@Seti Volkylany的answer,将步骤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