gcc 4.8.1 是第一个全然支持C++11(C++14非常可能在gcc
4.9.0開始支持。)的编译器,Windows上能够安装mingw版的。在sourceforge 上有下载。安装也比較方便。在Linux上安装的话须要首先安装一些依赖库。在Ubuntu12.04 lts默认安装的是gcc4.6.3。事实上该版本号也支持一些c++11的特性。能够通过添加“-std=c++0x" 编译选项来使用这些特性。可是对多线程库的支持较差,gcc 4.8.1 是通过ppa来安装的,因此须要安装ppa repository 。以下就来看一下安装步骤:

首先安装可选的依赖项:(能够用aptitude解决包依赖障碍,下面步骤是可选的

)

sudo apt-get install libgmp-dev

sudo apt-get install libmpfr4 libmpfr-dev

sudo apt-get install libmpc-dev libmpc2

sudo apt-get install libtool

sudo apt-get install m4

sudo apt-get install bison

sudo apt-get install flex

sudo apt-get install autoconf

接下来进入到安装gcc4.8.1 的关键步骤(下面步骤是必须的):

sudo add-apt-repository ppa:ubuntu-toolchain-r/test

# 假设提示须要apt-get install python-software-properties,就运行之!

sudo apt-get update



sudo apt-get install gcc-4.8

sudo apt-get install g++-4.8

sudo apt-get install gcc-4.8-multilib # 或者 sudo aptitude install

sudo apt-get install g++-4.8-multilib # 或者 sudo aptitude install

sudo apt-get install gcc-4.8-doc

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20


sudo update-alternatives --config g++

可选

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20

sudo update-alternatives --config gcc



可选

sudo apt-get update

sudo apt-get upgrade -y

sudo apt-get dist-upgrade

之后就能够使用了,通过使用g++ -v 命令能够查看当前gcc或者g++的版本号, 在我的系统上显演示样例如以下(省略了一些):

......

Thread model: posix

gcc version 4.8.1 (Ubuntu 4.8.1-2ubuntu1~12.04)

......

安装完毕后另一个小问题就是gdb调试器还是比較老的7.4,而一些IDE在生成makefile时。 默认生成的debug版本号都是以-g3或者-g来加入调试信息的。

从gcc4.8開始-g产生的是新的DWARF4格式的调试信息。 不是旧的DWARF2格式。这导致调试程序时gdb无法使用DWARF 4的调试信息从而给调试带来麻烦。

正确解决的方法(暂时)是:把-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

版权声明:本文博主原创文章。博客,未经同意不得转载。

Debian/Ubuntu 已安装gcc/g++ 4.8.1的更多相关文章

  1. 列出 Ubuntu 和 Debian 上已安装的软件包

    列出 Ubuntu 和 Debian 上已安装的软件包 如果你经常用 apt 命令,你可能觉得会有个命令像 apt 一样可以列出已安装的软件包.不算全错. apt-get 命令 没有类似列出已安装软件 ...

  2. ubuntu下安装gcc

    在ubuntu下安装gcc 第一次写blog,多多包涵! gcc安装步骤 废话不多说,gcc安装步骤如下: 1. sudo apt update 2. sudo apt install build-e ...

  3. 转:CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP)环境

    CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP) 今天遇到一个网友提到需要在Linux VPS服务器中安装LAMP(Apache/MySQL/PHP)网站环 ...

  4. cygwin安装gcc/g++

    安装cygwin如果按照默认的方式一直点下去的话,安装完了会发现没有安装gcc/g++. 这个时候可以在安装文件的目录打开命令行,并输入: setup-x86_64.exe -q -P wget -P ...

  5. Debian&&ubuntu系安装MegaCli

    MegaCli这个命令可以用来监控raid状态.磁盘状况等,最近上了一批ubuntu系统跑openstack,问题是MegaCli在官网上只有rpm格式的包,没有deb的包,但是还是有办法解决的,rp ...

  6. ubuntu 14.04 gcc/g++版本降低

    Matlab 2014a支持的gcc/g++版本是4.7x,而ubuntu 14.04以及更高版本默认安装的版本都是4.8及以上,因此需要降低gcc/g++版本,方法如下: 1 安装 $ sudo a ...

  7. CentOs下安装gcc/g++/gdb

    使用yum安装gcc:yum install gcc即可.使用:which gcc 查看是否安装成功 使用yum安装g++:yum install gcc-c++ 即可.使用:which g++ 查看 ...

  8. Linux 安装gcc g++

    Linux版本: cat /proc/version Linux version 3.10.0-693.11.6.el7.x86_64 (mockbuild@x86-041.build.eng.bos ...

  9. windows上安装gcc/g++环境(MinGW,msys64等)

    1 前言 经过折腾安装gcc环境,记录一下 2 工具  MinGW安装器: 下载地址1:MinGW官网 下载地址2:SourceForge (MinGW w64) 下载地址3:win-builds-1 ...

随机推荐

  1. Difference between datacontract and messagecontract in wcf

    在WCF中有两种契约各自是DataContract和MessageContract,这篇博客来讲一下两者的差别.先看一下两者定义契约实体的方式有和不同. 1.数据契约 <span style=& ...

  2. session深入解读

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:尽管session机制在web应用程序中被採用已经非常长时间了.可是仍然有非常多人不清楚 ...

  3. AlarmManager的学习与实现

    综述     这个类提供了一种使用系统提供的alarm服务.这个服务同意用户安排他们的应用程序在将来的某一个时间点执行.当设置的alarm响起,那么之前系统为这个alarm注冊的Intent就会自己主 ...

  4. bash,bg,bind,break,builtin,caller,compgen, complete,compopt,continue,declare,dirs,disown,enable,eval,exec,expo

    bash,bg,bind,break,builtin,caller,compgen, complete,compopt,continue,declare,dirs,disown,enable,eval ...

  5. KMP算法---字符串匹配

    算法细节详见点击打开链接和点击打开链接 #include <stdio.h> #include <stdlib.h> #define N 7 #define M 15 void ...

  6. iOS_8_键盘操作简单

    最后效果图: BeyondViewController.h // // BeyondViewController.h // 9_键盘的简单处理 // // Created by beyond on 1 ...

  7. 扔鸡蛋问题具体解释(Egg Dropping Puzzle)

    经典的动态规划问题,题设是这种: 假设你有2颗鸡蛋,和一栋36层高的楼,如今你想知道在哪一层楼之下,鸡蛋不会被摔碎,应该怎样用最少的測试次数对于不论什么答案楼层都可以使问题得到解决. 假设你从某一层楼 ...

  8. poj1182食物链(种类并查集)

    http://poj.org/problem?id=1182 r[x] = 0 表示x和父亲是同类r[x] = 1 表示x吃父亲r[x] = 2 表示x被父亲吃因为只存在三种动物,且三种动物构成了环形 ...

  9. 设计模式 - 模板方法模式(template method pattern) JFrame 具体解释

    模板方法模式(template method pattern) JFrame 具体解释 本文地址: http://blog.csdn.net/caroline_wendy 參考模板方法模式(templ ...

  10. update和saveOrUpdate具体解释

    在Hibernate中,最核心的概念就是对PO的状态管理.一个PO有三种状态:  1.未被持久化的VO  此时就是一个内存对象VO,由JVM管理生命周期  2.已被持久化的PO,而且在Session生 ...