也许你和我一样在升级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
1 |
sudo add-apt-repository ppa:ubuntu-toolchain-r/ test |
2 |
sudo apt-get update |
3 |
sudo apt-get install gcc-4.8 |
4 |
sudo apt-get install g++-4.8 |
2. 使用 g++-4.8
使用 g++-4.8 编译 C++11 的程序, 必须带上编译选项 -std=c++11, 即按以下命令格式
1 |
g++-4.8 -std=c++11 -g a.cpp -o a |
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 文件), 即可成功安装.
1 |
zf@sap:~/Desktop/gdb-7.6.1$ ./configure |
2 |
zf@sap:~/Desktop/gdb-7.6.1$ make |
3 |
zf@sap:~/Desktop/gdb-7.6.1$ sudo make install |
(4). 如果安装时报错: no termcap library found; 则需安装相关依赖程序
1 |
sudo apt-get install 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