1. 程式人生 > >Ubuntu升級g++-4.8以支援C++11

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

1 sudoadd-apt-repository ppa:ubuntu-toolchain-r/test
2 sudoapt-get update
3 sudoapt-getinstall gcc-4.8
4 sudoapt-getinstall
g++-4.8
安裝成功後, 即可通過 g++-4.8 --version 命令檢視當前版本. (重開一個 Terminal)

2. 使用 g++-4.8使用 g++-4.8 編譯 C++11 的程式, 必須帶上編譯選項 -std=c++11, 即按以下命令格式

1 g++-4.8 -std=c++11 -g a.cpp -o a
為了避免每次輸入這麼一長串命令, 可以修改 bash 中 g++ 的 alias. 在 terminal 中輸入 $sudo vim ~/.bashrc, 在最後面新增一個新的 alias 如下, 即可像以前一樣使用 g++(注意修改需要在新的 terminal 中才會生效). 

3. 安裝 gdb 7.6Ubuntu 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 [email protected]:~/Desktop/gdb-7.6.1$ ./configure
2 [email protected]:~/Desktop/gdb-7.6.1$ make
3 [email protected]:~/Desktop/gdb-7.6.1$ sudomakeinstall

(4). 如果安裝時報錯: no termcap library found; 則需安裝相關依賴程式

1 sudoapt-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

相關推薦

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

RedHat gcc編譯器版本升級4.8.2支援C++11標準

原來環境資訊 Red Hat Enterprise Linux Server release 6.4 (Santiago) gcc4.4.7 升級到gcc4.8.2 gcc4.8以上版本才支援C++11標準,網上很多都是裝的4.8系列的版本,

linux下安裝或升級GCC 4.8支援C++11標準

C++11標準在2011年8月份獲得一致通過,這是自1998年後C++語言第一次大修訂,對C++語言進行了改進和擴充。隨後各編譯器廠商都各自實現或部分實現了C++中的特性 。   如需檢視各編譯器對C++11的支援程度,請參看文章: 轉自:http://www.d

linux下安裝或升級GCC 4.8以上版本(包括),支援C++11

本文轉載自:http://www.cnblogs.com/lizhenghn/p/3550996.html C++11標準在2011年8月份獲得一致通過,這是自1998年後C++語言第一次大修訂,對C++語言進行了改進和擴充。隨後各編譯器廠商都各自實現或部分實現了

linux下安裝或升級GCC4.8.2,支援C++11標準[轉]

在編譯kenlm的時候需要安裝gcc, 然後還需要安裝g++。 g++安裝命令:sudo apt-get install g++ ----------------------以下為網上轉載內容,加上自己修改------------------ 本文主要介紹在Linux系統下,如何升級GCC以支援C+

#gcc4.7.2編譯支援c++11標準,解決not a member問題

使用g++4.7.2熟悉c++11,遇到下面問題。。 'thread' isnotamemberof 'std 'yield' is not a member of 'std::this_thread' sleep_for’ is not a member of ‘st

GCC 升級4.8 支援c++11

 gcc 升級到4.8 用來支援c++11   1)cd gcc-4.8.1 , ./contrib/download_prerequisites 下載依賴   2) cd .. , mkdir gcc-build-4.8.1 , cd gcc-build-4.8.1,  

linux下讓g++4.8.4支援C++11生效

最近在學習C++時遇到用g++編譯不支援auto型別的問題,如: 1.cpp:7:7: error: ‘a’ does not name a type   auto a=r;        ^ 後搜

ubuntu 14.04升級gcc 4.8到5.3

新增PPA庫 #sudo apt-get install software-properties-common #sudo add-apt-repository ppa:ubuntu-toolchain-r/test  #sudo apt-get update 更新庫源 apt-get u

ubuntu 14.04 install g++ 問題"g++ : Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installe"

Ubuntu 14.04通過 sudo apt-get install g++ 出現“g++ : Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installed”錯誤, 是因為ubuntu 14.

ubuntu問題g++ : 依賴: g++-4.8 (>= 4.8.2-5~) 但是它將不會被安裝

截圖中選取了一個等同的例子。 python-dev : 依賴:libpython-dev(=2.7.5-5ubuntu3)但是它將不會被安裝 凡是遇到類似問題,括號裡面會是一些版本號。這通常代表的

suse安裝gcc,升級4.8.5

file rar 需要 rep oca exp AS .gz wget 前面這些是掛載iso,如果iso可以使用,就不需要下面幾步。 cd /etc/zypp/repos.d mkdir iso chmod -R 777 iso mount -o loop /med

升級g++4.9 && gcc4.9

若使用C++14新特性,需將g++和gcc升級到4.9版本以上 升級方法: sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.9 su

CentOS上升級gcc編譯器使支援C++11

首先向博主致敬,好的東西拿來共享了,用一下不錯。 https://blog.csdn.net/clirus/article/details/62424517   0. 目標  最近在學習c++11,我本機裝的CentOS編譯器較老,不支援C++11的新特性,所以我需要把g

centos6.5 gcc升級4.8

之前在使用nodejs執行程式碼時,遇到了由於gcc版本過低導致執行報錯的情況。 已知centos6.5 通過yum安裝的gcc版本是4.4.7,而高版本的node需要高版本的gcc,我用的node版

STSdb,最強純C#開源NoSQL和虛擬檔案系統 4.0 RC2 支援C/S架構

STSdb是什麼 再來說明一下STSdb是什麼:STSdb是C#寫的開源嵌入式資料庫和虛擬檔案系統,支援實時索引,效能是同類產品的幾倍到幾十倍,訪問官方網站。 溫故知新 之前發了文章《STSdb,最強純C#開源NoSQL和虛擬檔案系統》,相信大家對Waterfall-tree(瀑布樹)演算法還是有興

Linux下Eclipse安裝配置OpenCV2.4.8,用C++呼叫OpenCV及測試例項

首先從官網上下載安裝opencv,安裝教程可以從網上搜索一下,需要用到cmake。然後在Eclipse中配置opencv,目的在於讓其找到opencv的庫,就是g++ test.cpp -o test -I .........................-l.....

Linux離線(手動)升級GCC-4.8

本文介紹在系統無法連線網際網路的情況下,如何升級GCC。離線和線上升級的主要區別在於,如果可以聯網,在升級gcc前的需要安裝的依賴包,可以通過執行gcc安裝包下的指令碼自行下載安裝,免去了很多的麻煩。 當前系統及GCC版本 OS:Red Hat 6.3 G

【採坑篇】REHL6.5升級glic,支援C++11特性

場景需求 預設的Redhat 6.5 的glibc版本最高為2.12, 而在實際應用中引入了一個C++11編寫的服務,專案執行所依賴的包往往需要更高版本的glibc庫支援, 因此在不升級系統的前提下, 需要手動更新系統glibc庫. 一般遇到錯誤libc.so

gcc g++ 支援c++11編譯的標準和區別

g++ -g -Wall -std=c++11 main.cpp gcc -g -Wall -std=c11 main.cpp 如果不想每次寫這個-std=C++11這個選項該怎麼辦呢?   方法1:寫Makefile   方法2:取別名 :alias g++11