g++,gcc,cmake安装

安装gcc6.3

转载链接:https://blog.csdn.net/yrc19950911/article/details/86184269

1.安装gcc之前要安装gmp,mpfr,mpc,isl这几个库,并且要卸载旧的gcc,然而我们需要在最后安装gcc之前再卸载旧的gcc,因为安装必需的库时需要旧的gcc。

方法一:直接安装

sudo apt-get install build-essential  libgmp-dev libmpfr-dev libmpc-dev

方法二:源码编译安装

安装gmp:去官网下载最新的包,之后直接解压到想要安装的位置。安装步骤如下

$ cd gmp-6.1.2/
$ mkdir build
$ cd build/
$ ../configure -prefix=/usr/local/gmp-6.1.2
$ make -j12
$ sudo make install

我们把gmp安装在了/usr/local目录下,使用参数-j12是可以调用多线程加速编译的过程。

安装mpfr:同样是在官网下载最新的包,而后解压,安装步骤类似上一步:

$ cd mpfr-4.0.1/
$ mkdir build
$ cd build/
$ ../configure --prefix=/usr/local/mpfr-4.0.1 --with-gmp=/usr/local/gmp-6.1.2
$ make -j12
$ sudo make install

因为用到了上一步安装的gmp,因此mpfr的安装需放在gmp之后

安装mpc:步骤依旧同上,源码在官网

$ cd mpc-1.1.0/
$ mkdir build
$ cd build/
$ ../configure -prefix=/usr/local/mpc-1.1.0 -with-gmp=/usr/local/gmp-6.1.2 -with-mpfr=/usr/local/mpfr-4.0.1
$ make -j12
$ sudo make install

同时用到了gmp和mpfr。

安装isl:其实这一步不是必需的,但是我在某一步被卡住,然后发现是用到了isl库中的一个头文件,因此才安装这个库。isl的官网没有找到,但是有一个ftp上可以下载。

$ cd isl-0.18/
$ mkdir build
$ cd build/
$ ../configure --prefix=/usr/local/isl-0.18 --with-gmp=/usr/local/gmp-6.1.2
$ make -j12
$ sudo make install

只用到了gmp。

2.安装gcc6.3

终于到了我们的目标,gcc6.3,首先我们需要卸载旧的gcc

sudo update-alternatives --remove-all gcc

这一步会将gcc和g++相关卸载。接下来我们需要在环境变量里配置一下刚刚安装的几个库。

$ gedit ~/.bashrc

然后在最后加一行

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.1.0/lib:/usr/local/gmp-6.1.2/lib:/usr/local/mpfr-4.0.1/lib:/usr/local/isl-0.18/lib:/usr/local/lib:/usr/lib/x86_64-linux-gnu

如果不进行上面一步的话,可能会出现如下的错误

checking for suffix of object files... configure: error: in '/home/manu/gcc/gcc/i686-pc-linux-gnu/libgcc':
configure: error: cannot compute suffix of object files: cannot compile
See 'config.log' for more details.

一般缺少库都会产生这样的错误,我们需要打开config.log进行具体查看。之前没有安装isl库的时候就会在log文件中显示出来,而终端并没有显示具体的error(终端中不一定显示)

接下来就是编译安装gcc6.3,源码在官网的镜像里可以找到,随便选一个ftp服务器,然后在releases分支里找到gcc6.3下载(https://bigsearcher.com/mirrors/gcc/releases/),之后解压。

GCC下载链接,依次选择

$ cd gcc-6.3.0/
$ mkdir build
$ cd build/
$ ../configure --prefix=/usr/local/gcc-6.3 --disable-multilib --with-system-zlib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.2 --with-mpfr=/usr/local/mpfr-4.0.1 --with-mpc=/usr/local/mpc-1.1.0 --with-isl=/usr/local/isl-0.18
$ make -j12
$ sudo make install

如果你需要gcc编译其他语言的话,可以在languages那里添加。make的过程非常漫长,就算我用了12个线程跑,也花了10分钟左右。

因为我们删除了gcc的链接,因此为了更方便地使用gcc,需要重新链接

$ cd /usr/bin
$ sudo ln -s /usr/local/gcc-6.3/bin/gcc gcc
$ sudo ln -s /usr/local/gcc-6.3/bin/g++ g++

最后检查一下gcc的版本

$ gcc -v

安装gcc8.2链接:https://blog.csdn.net/eyeloveuv/article/details/86529467

多个gcc版本切换:https://www.cnblogs.com/uestc-mm/p/7511063.html

安装cmake-3.13

安装教程:https://blog.csdn.net/eyeloveuv/article/details/86529467

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值