Ubuntu升级g++-4.8以支持C++11

也许你和我一样在升级g++到4.8后发现用g++ a.cpp -o a还是提示编译错误,那这篇文章给你答案。

转自:http://my.oschina.net/zenglingfan/blog/169564

1. 安装 gcc-4.8 
为了使用C++ 11, 须安装 gcc-4.8 以上版本.按以下命令即可方便的安装 gcc-4.8 及 g++-4.8

1sudoadd-apt-repository ppa:ubuntu-toolchain-r/test
2sudoapt-get update
3sudoapt-getinstall gcc-4.8
4sudoapt-getinstall g++-4.8
安装成功后, 即可通过 g++-4.8 --version 命令查看当前版本. (重开一个 Terminal)

2. 使用 g++-4.8
使用 g++-4.8 编译 C++11 的程序, 必须带上编译选项 -std=c++11, 即按以下命令格式

1g++-4.8 -std=c++11 -g a.cpp -o a
为了避免每次输入这么一长串命令, 可以修改 bash 中 g++ 的 alias. 在 terminal 中输入 $sudo vim ~/.bashrc, 在最后面添加一个新的 alias 如下,  即可像以前一样使用 g++(注意修改需要在新的 terminal 中才会生效). 

3. 安装 gdb 7.6
Ubuntu 12.4 自带的 gdb 版本为 7.4, 当升级 gcc 到 4.8 后, 会导致 gdb 与 gcc 不兼容, 一般会报 "符号表找不到"或"Missing separate debuginfos, use: debuginfo-install glib" 这样的错误, 将 gdb 升级到 7.6 即可解决.

现在(2013.10.17)尚未能通过简单的 apt-get install gdb 来升级 gdb 到 7.6, 所以只能进行手动安装.

(1). 在这里下载最新版本 gdb 的 tar 包, 当前最新版本为 7.6.1, 所以下载 gdb-7.6.1.tar.bz2 即可.

(2). 解压上面下载的文件, 默认解压出来的文件夹名字为 gdb-7.6.1.

(3). terminal 进入到 gdb-7.6.1, 顺序执行以下 3 个命令(./configure 会生成 make 文件), 即可成功安装. 

1zf@sap:~/Desktop/gdb-7.6.1$ ./configure
2zf@sap:~/Desktop/gdb-7.6.1$ make
3zf@sap:~/Desktop/gdb-7.6.1$ sudomakeinstall

(4). 如果安装时报错: no termcap library found; 则需安装相关依赖程序

1sudoapt-getinstall texinfo libncurses5-dev


4
. 环境: Ubuntu 12.04(64-bit) 

5.补充
Ubuntu 13.04 安装 GCC4.8.1》这篇文章使用 , 应该是把所有会使用到 gcc/g++的地方都替换成 gcc-4.8/g++-4.8,  这个方法会更好一些(当然, 我现在的方法可以保证原来的 g++及 g++-4.8 并存, 在 4.8 尚未大规模应用时, 还是有一定价值的^_^).
按这个方法, 下一篇文章 《Sublime Text 2 使用 g++4.8 编译 C++11 程序》 也就没有存在的必要了...

------------

这篇文章是对相关升级设置参数的介绍:http://www.qtcn.org/bbs/apps.php?q=diary&a=detail&did=1456&uid=139371


©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页