
我檢查了系統上的 gcc 版本。
目前版本為 4.6.3。我讀到 gcc-4.8 已經出來了。
我嘗試了以下命令但沒有成功:
sudo apt-get install gcc (gcc is already the newest version)
sudo apt-get install gcc-4.8 (unable to locate package)
有誰知道如何在 12.04 上安裝這個軟體包?
答案1
GCC-4.8 現在可用於 12.04 Precise 嗎?
更新:截至 2013 年 6 月 5 日,目前有適用於 12.04(精確)的 gcc 4.8.1 版本,可在https://launchpad.net/~ubuntu-toolchain-r/+archive/test。
簡短的回答是:gcc-4.8
目前可透過工具鏈 PPA 適用於 12.04(Precise) 或者透過編譯原始碼(詳細資訊見下文)。
發佈公告
這關於發布gcc-4.8的公告於 3 月 22 日製作,因此您可能還不會在官方存儲庫中看到它。
然而,Launchpad 似乎確實有一個可用工具鏈包含 gcc-4.8 的測試版本,如下:https://launchpad.net/~ubuntu-toolchain-r/+archive/test
根據變更日誌和軟體包列表,有適用於 i386、amd64、arm 和 powerpc 的 deb,並且是針對 raring 13.04 所建構的。
gcc 的最新可用版本(12.04)是 4.8.1,可在工具鏈 PPA 中找到。
新增工具鏈/測試 PPA:
若要將 PPA 新增至您的系統,請開啟終端機 ( ++ Ctrl)並執行以下命令:Altt
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-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
系統也會提示您安裝一些建議的軟體套件。對於 gcc-4.8 的安裝,建議使用這些軟體包,但這些軟體包是可選的。
哪些 C++ 功能在 gcc-4.8 中可用,但在 gcc-4.7.2 中不可用?
- 根據GNU 組織,gcc-4.7,支援多種C++11 特性。
從 gcc-4.8 版本開始,gcc-4.7 不支援 64 個功能中的 8 個(請參閱GCC 中的 C++0x/C++11 支持)
這些功能是:
Language Features - Rvalue references for *this - Generalized attributes - Alignment support - Inheriting constructors Concurreny - Bidirectional Fences - Memory model - Abandoning a process and at_quick_exit - Thread-local storage
- 有關 gcc-4.8 中更改的完整列表,請參閱更改清單
我現在需要 12.04 Precise 上的這些 gcc 功能。我怎樣才能得到它們?
從原始碼建構 GCC-4.8:
如果您現在需要 12.04 上的 gcc-4.8,您唯一的選擇是從原始碼建立它。
請閱讀GCC 安裝常見問題解答安裝前。
您可以從 gnu.org 之一下載 gcc-4.8鏡像站點或直接從他們的SVN伺服器。
這是從原始碼編譯的步驟範例(請參閱這裡了解更多詳細資訊。
下載原始碼
- 建立建置目錄 (
mkdir gcc-build && cd gcc-build
) - 下載來源檔案:(
wget http://www.netgull.com/gcc/releases/gcc-4.8.0/gcc-4.8.0.tar.bz2
調整此命令以使用適當的鏡像站點。 - 解壓縮文件 (
tar -xvjf <file name>
)
- 建立建置目錄 (
安裝一些附加程式庫 (
sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev libc6-dev
)- 編譯原始碼:
./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0
- 運行
make
(這需要一些時間才能完成。去煮點咖啡,或烤一些餅乾。;-)) - 安裝代碼:
sudo make install
此過程完成後,執行命令gcc --version
以驗證安裝是否已成功完成。您應該會看到類似以下輸出的內容:
maggotbrain@foucault:~$ gcc --version
gcc (Linaro 4.8.0) 4.8.0
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
底線:感謝所有為您提供易於安裝的 Ubuntu 向後移植的人們。給他們一些你跑步時烤的餅乾make
。 ;-)
答案2
所以上面的答案是有效的,至少對於手動安裝來說是這樣。儘管即使在之後sudo make install
,運行gcc
仍然只運行庫存版本 4.6.3。即使嘗試gcc-4.8
還是gcc-4.8.0
無效。跑步/app/gcc/4.8.0/bin/gcc
似乎是唯一對我有用的事。我的意思是這有點蹩腳,但至少它有效。