Ubuntu 安装 gcc/g++ 5.0

news/2024/10/31 1:22:19/

    gcc 5.0 是第一个完全支持C++14的编译器,Windows上可以安装mingw版的,在sourceforge 上有下载,安装也比较方便。在Linux上安装的话需要首先安装一些依赖库。在Ubuntu12.04 lts默认安装的是gcc4.6.3,其实该版本也支持一些c++11的特性,可以通过增加“-std=c++0x" 编译选项来使用这些特性,但是对多线程库的支持较差,4.6以上大版本是通过ppa来安装的,因此需要添加ppa repository 。

下面就来看一下安装步骤(仅适合ubuntu12.04 ~ 14.10):

关键步骤(以下步骤是必须的):
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update


sudo apt-get install gcc-5          # gcc可以不升级依然用4.6,只装g++5
sudo apt-get install g++-5
sudo apt-get install gcc-5-multilib # gcc可以不升级依然用4.6,只装g++5
sudo apt-get install g++-5-multilib
sudo apt-get install g++-5-doc      # 可选


可选(之后g++命令默认指向g++5.x.x)

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 20
sudo update-alternatives --config g++ 
根据提示选择默认的版本


现在就可以使用了,通过g++  -v 命令可以查看当前gcc或者g++的版本, 在我的系统上显示如下(省略了一些):
......
Thread model: posix
gcc version 5.4.0 20160603 (Ubuntu 5.4.0-3ubuntu1~12.04) 
......


安装完成后还有一个小问题就是gdb调试器还是比较老的7.4,而一些IDE在生成makefile时, 默认生成的debug版本都是以-g3或者-g来添加调试信息的,实际上从gcc4.8开始-g产生的是新的DWARF4格式的调试信息, 不是旧的DWARF2格式,这导致调试程序时gdb无法使用DWARF 4的调试信息从而给调试带来麻烦,使用eclipse cdt的同学要特别注意!


正确解决办法是:把-g或者-g3 改为-gdwarf-2就可以了,使用eclipse cdt的同学要特别注意!



附ubuntu12.04 软件源, 163是比较我一直使用比较快的, 个人感觉比cn99和sohu好点
deb http://mirrors.163.com/ubuntu/ precise main restricted
deb-src http://mirrors.163.com/ubuntu/ precise main restricted
deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb http://mirrors.163.com/ubuntu/ precise universe
deb-src http://mirrors.163.com/ubuntu/ precise universe
deb http://mirrors.163.com/ubuntu/ precise-updates universe
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe
deb http://mirrors.163.com/ubuntu/ precise multiverse
deb-src http://mirrors.163.com/ubuntu/ precise multiverse
deb http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-updates multiverse
deb http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ precise-security main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted
deb http://mirrors.163.com/ubuntu/ precise-security universe
deb-src http://mirrors.163.com/ubuntu/ precise-security universe
deb http://mirrors.163.com/ubuntu/ precise-security multiverse
deb-src http://mirrors.163.com/ubuntu/ precise-security multiverse

deb http://extras.ubuntu.com/ubuntu precise main

deb-src http://extras.ubuntu.com/ubuntu precise main





http://www.ppmy.cn/news/292784.html

相关文章

Linux的编译器gcc/g++

Linux的编译器gcc/g gcc如何完成?(g同理)预处理(进行宏替换)编译(生成汇编)汇编(生成机器可识别代码)链接(生成可执行文件或库文件) gcc只能用来编译c语言,g既可以用来编译c语言也可…

maven打完jar包之后将jar包放到指定位置总结之五种方法

一、方式一&#xff1a;通过maven-jar-plugin指定outputDirectory输出路径 可以排除某些配置文件&#xff0c;没有文件夹的话会自动创建&#xff01; <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifac…

linux gcc/g++编译安装 gcc7.5.0 c++17

linux C17编译&#xff1a; 编译指定参数 -stdc17 编译指定参数 -stdc17 例&#xff1a;g -stdc17 main.cpp #如果编译器不支持c17就会提示&#xff1a;g: error: unrecognized command line option ‘-stdc17’ 方法&#xff1a; 1.下载高版本gcc 建议7.3以上 wget http://m…

Ubuntu没有gcc, g++处理

没有gcc, g&#xff0c;不能使用sudo apt-get install 安装&#xff0c; 提示Lock; 创建如下脚本&#xff0c;执行后再使用sudo apt-get install gcc安装即可 #! /bin/bash #先使用下面的语句 #sudo killall apt apt-all #提示如下内容&#xff0c;继续使用下面的语句处理…

ubuntu安装g++/gcc 7版本

安装gcc-7/g -7 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-7 sudo apt-get install g7 修改本地gcc/g版本&#xff0c;首先设置优先级 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 100 sud…

关于hadoop 在浏览器中看hdfs

最近在折腾 hadoop 在物理机中用浏览器访问hdfs 点击 Browse the filesystem 浏览器中的地址栏 从 http://hunter-lenovo-g475:50070/dfshealth.jsp 变成 localhost... 然后在网上找了资料说是 物理机的hosts 文件没配&#xff0c;但实际上并不是 。我用ip 和主机名…

FinalShell界面左侧为什么能够监测系统指标动态变化的原理

前言&#xff1a; 我们可以看出FinalShell是用Java写的&#xff0c;具体怎么看出来的&#xff0c;不能光看界面logo是Java的logo&#xff0c;还要进它的安装目录下进行查看是否真是用Java编写的&#xff01;&#xff01;&#xff01; 具体查看如下&#xff1a; 查看finalshe…

插件化技术

插件化技术 一.概述二.原理三.好处四.插件化涉及到的技术以及常用的插件化框架五.详细说明1.第一个问题&#xff1a;类加载&#xff08;1&#xff09;Android 项目中&#xff0c;动态加载技术按照加载的可执行文件的不同大致可以分为两种&#xff1a;&#xff08;2&#xff09;…