首页 > 系统相关 >【Linux 基础】gcc、g++多版本间的切换

【Linux 基础】gcc、g++多版本间的切换

时间:2023-10-14 22:33:22浏览次数:34  
标签:bin gcc ++ sudo usr 版本 Linux

在make时可能出现版本过高的问题,因此需要进行版本切换。
gcc多版本间的切换(g++配置方法一样,gcc换为g++即可)
系统:ubuntu18

方法:根据需要同步设置gcc与g++间的版本号

1.gcc安装(多版本)
	sudo apt-get update
	sudo apt-get install gcc   ##安装最新版本,此处为7
	sudo apt-get install gcc-4.8   ##安装低版本

	ls /usr/bin/gcc*   # gcc在/usr/bin目录下
    #此处使用 ll 命令更好(可以看到软链接):
    ll /usr/bin/gcc*
    
	gcc -v  ##此时系统是7版本

2.版本间的切换
	2.1将版本4.8加入候选中
		sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
	2.2将版本7加入候选中
		sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50

	2.3通过下面的指令来选择不同的gcc和g++的版本
		sudo update-alternatives --config gcc   
					
			》》》》》》》》》》》》》》选择版本号》》》》》》》》》》》》》》》》
			There are 2 choices for the alternative gcc (providing /usr/bin/gcc).

			  Selection    Path              Priority   Status
			------------------------------------------------------------
			* 0            /usr/bin/gcc-4.8   100       auto mode
			  1            /usr/bin/gcc-4.8   100       manual mode
			  2            /usr/bin/gcc-7     50        manual mode

			Press <enter> to keep the current choice[*], or type selection number: 
			》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》

		gcc -v   #查看当前系统版本


3.注意
	#当切换使用了其他版本的gcc时,请务必保持g++的版本和gcc版本的一致性,
	 否则用cmake配置出来的项目遇到c++代码还是会用之前版本的gcc
	# 删除选项操作
	sudo update-alternatives --remove gcc /usr/bin/gcc-4.8

 

 

提示:

重点是使用 update-alternatives命令。

  • 将某个版本加入gcc/g++候选中的命令格式为:

    g++: sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 100
  • 确定候选 gcc 版本命令为:sudo update-alternatives --config gcc
    g++:sudo update-alternatives --config g++

  

 

转载自:

1. https://blog.csdn.net/xrinosvip/article/details/81177873

2.《gcc、g++多版本间的切换》

 

标签:bin,gcc,++,sudo,usr,版本,Linux
From: https://www.cnblogs.com/FBsharl/p/17764874.html

相关文章

  • Linux Kernel 4.13 RC6发布:正式版9月3日发布
    美国当地时间上周末,大神LinusTorvalds发布了Linux Kernel4.13内核的又一候选版本。上周发布的RC5版本更新幅度也要比上上周的RC4要小,LinusTorvalds表示本周发布的RC6版本属于常规更新,在过去一周的开发过程中并没有出现任何意外。RC6版本主要对网络、声音和InfiniBand驱动,以及......
  • 一些 C/C++ 的知识
    引用https://zhuanlan.zhihu.com/p/100050970https://www.sohu.com/a/300755552_120111838gcc与g++的区别GCC:GNUCompilerCollection(GUN编译器集合),它可以编译C、C++、JAVA、Fortran、Pascal、Object-C等语言。gcc是GCC中的GUNCCompiler(C编译器);g++是GCC中的GUNC++Co......
  • Linux该如何学习,给你支招
    如果你已经确定对Linux产生了兴趣,那么接下来我们介绍一下学习Linux的方法。这只是自己关于学习Linux的建议。一、如何去学习学习大多类似庖丁解牛,对事物的认识一般都是由浅入深、由表及里的过程,循序才能渐进。学习Linux同样要有一定的顺序和方法,当然这也是你学习本教程的意义......
  • 轻松掌握组件启动之MongoDB:快速入门、Linux安装和Docker配置指南
    引言我们将继续深入研究组件启动专题。在之前的文章中,我们已经详细介绍了Redis的各种配置使用方法,为读者提供了全面的指导。然而,今天我们将转向另一个备受关注的数据库——MongoDB。MongoDB是一种流行的NoSQL数据库,具有强大的灵活性和可扩展性。在这篇文章中,我们将探索MongoDB的......
  • OnTheSSH使用技巧(一) 监控Linux性能
     Linux提供了许多命令进行性能监控,如top、netstat、free等,这些命令通常带有很多参数,使用起来需要一定的经验和技巧。OnTheSSH软件提供图表形式的监控,将linux的各种指标聚合在一个界面中,使用起来也非常简单。【打开监控界面途径】1、在左侧栏用鼠标点击某一个远端主机,再点击顶部......
  • LInux无法登录系统时的处理方式
    一:概述在登录系统时,如果从打开电源到登录系统的顺序出了问题,就不会显示登录界面或登录提示信息,即使你在登录界面或登录提示中输入了用户名和密码,也不会登录成功。如果你遇到了这种情况。就没有办法登录系统进行系统的修复工作。解决这种问题就需要从DVD/CD-ROM或SIO镜像中启动安装......
  • Linux(CentOS)之Nginx安装及配置
    一,复制nginx下载链接http://nginx.org/en/download.html二,下载nginx1.注意切换到root用户2.注意在/usr/local/目录下3.使用命令(PS:-c的参数即为上一步你复制的地址)wget-chttp://nginx.org/download/nginx-1.24.0.tar.gz三,解压tar-zxvfnginx-1.40.0.tar.gz四,安装依赖yumi......
  • Linux常见配置文件总结
    /etc/passwd:这个文件包含了系统上的用户账户信息,如用户名、用户ID、用户所属组ID、用户主目录等。/etc/shadow:该文件存储了用户账户的密码哈希值和其他安全相关设置,只有root用户及授权用户可以访问。/etc/group:该文件记录了用户组的信息,包括组名、组ID和组成员。/etc/hosts:这个文件......
  • (待完善)C/C++ Language Standard
    C89/C90(ANSICorISOC)wasthefirststandardizedversionofthelanguage,releasedin1989and1990,respectivelyC99(ISO/IEC9899:1999)C11(ISO/IEC9899:2011)C18(ISO/IEC9899:2018)ThefirstversionofCwascalled"ASystemProgrammingLang......
  • Linux之防火墙相关
    一,已经打开的端口firewall-cmd--list-all二,打开新端口firewall-cmd--add-port=80/tcp--permanentfirewall-cmd--reload三,临时关闭systemctlstopfirewalld.service四,永久关闭systemctldisablefirewalld.service......