linux下gcc、g++不同版本的安装和切换

Ubuntu 18.04预装GCC版本为7.3,但有时在编译是需要用的不同gcc版本,下面介绍,如何安装不同的gcc 和g++,并设置根据不同的需要在不同版本之间切换。

1. 可以通过如下命令查看当前安装的版本:

ll /usr/bin/gcc*

2. 安装gcc-4.8 和gcc-5:

sudo apt install gcc-4.8 gcc-4.8-multilib g++-4.8 g++-4.8-multilib
sudo apt install gcc-5 gcc-5--multilib g++-5 g++-5--multilib

3. 使用update-alternatives设置gcc和g++:

update-alternatives是ubuntu系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本。
其中40 ,50 ,70是优先级数值可以自己设定,–slave能保证gcc和g++保持相同的版本。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 --slave /usr/bin/g++ g++ /usr/bin/g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 70 --slave /usr/bin/g++ g++ /usr/bin/g++-7

4. 使用如下命令选择gcc的版本:

# sudo update-alternatives --config gcc
# 可以看到当前gcc默认的版本是gcc-7,下面我们修改为gcc-4.8,直接选择编号即可。
$ sudo update-alternatives --config gcc
There are 3 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path              Priority   Status
------------------------------------------------------------
* 0            /usr/bin/gcc-7     70        auto mode
  1            /usr/bin/gcc-4.8   40        manual mode
  2            /usr/bin/gcc-5     50        manual mode
  3            /usr/bin/gcc-7     70        manual mode

Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/gcc-4.8 to provide /usr/bin/gcc (gcc) in manual mode

5. 验证是否修改成功:

gcc -v
g++ -v

6. 删除

删除某个gcc版本的选项的话,可以使用
sudo update-alternatives --remove gcc /usr/bin/gcc-4.5
再使用apt-remove删除即可

作者:foochane 链接:https://www.jianshu.com/p/f66eed3a3a25 来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Linux中更新gcc命令的步骤如下: 1. 首先,为了不覆盖原来的gcc命令,需要备份原来的相关内容。可以执行以下命令: ``` mv /usr/bin/gcc /usr/bin/gcc485 mv /usr/bin/g++ /usr/bin/g++485 mv /usr/bin/c++ /usr/bin/c++485 mv /usr/bin/cc /usr/bin/cc485 mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak ``` 这样可以将原来的gcc命令备份到相应的目录下。 2. 安装版本gcc后,新的gcc命令位于/usr/local/bin目录下。为了让系统能够找到新的gcc命令,需要创建软链接。可以执行以下命令: ``` ln -s /usr/local/bin/gcc /usr/bin/gcc ln -s /usr/local/bin/g++ /usr/bin/g++ ln -s /usr/local/bin/c++ /usr/bin/c++ ln -s /usr/local/bin/gcc /usr/bin/cc ln -s /usr/local/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6 ``` 这样可以创建软链接,将新版本gcc命令与系统路径关联起来。 3. 如果需要在特定目录下使用新版本gcc,可以使用cd命令切换到相应的目录,然后执行解压命令。例如,如果要将gmp文件解压到目录gcc-10.1.0,可以执行以下命令: ``` cd /opt2/test_other/debug_test/ tar -jvxf gmp-6.1.0.tar.bz2 --directory=/usr/local/gcc-10.1.0/ ``` 这样可以将gmp文件解压到指定目录。 请注意,更新gcc命令可能需要root权限或管理员权限。在执行任何系统命令之前,请确保您具有足够的权限。 #### 引用[.reference_title] - *1* *2* *3* [linux升级gcc版本详细教程](https://blog.csdn.net/weixin_43354152/article/details/129247408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值