1. 程式人生 > >Ubuntu16.04多個版本GCC編譯器的安裝和切換

Ubuntu16.04多個版本GCC編譯器的安裝和切換

spa tails con native com csdn lan 多個 遇到

這幾天在配置交叉編譯ARM開發板的linux內核的過程中碰到了很多問題,其中包括了GCC版本太高等問題,由此我打算安裝其他老的版本給我的Ubuntu16.04.實驗過程如下:

1、首先查看一下當前我的Ubuntu16.04版本的原裝GCC版本:

gcc -v #查看gcc的版本
g++ -v #查看g++的版本

技術分享 技術分享

如上圖所示:GCC的版本是5.4.0(這對我編譯某些很早的內核文件的確是太新了)

2、安裝目前需要GCC和G++的版本(目前安裝的是gcc-4.8.5版本):

在這之前,我嘗試采用下載源文件編譯安裝的方法,碰到了太多的問題,先記錄於此,後面再解決吧,先使用apt-get的安裝方法:

sudo apt-get install gcc-4.8 g++-4.8

技術分享我已經安裝好了,顯示如圖。

你在安裝完之後可以采用下面的指令來查看當前系統中安裝的所有的gcc和g++的版本:

ls /usr/bin/gcc*
ls /usr/bin/g++*

技術分享

3、將某個版本加入gcc候選中,最後的數字是優先級,我自己是直接設為100(測試沒有問題),指令如下:

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

同樣的我們也將原來系統中的gcc和g++的優先級改成100,這樣我們就能在選擇完當前使用版本之後不會恢復默認優先級的版本。

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100

4、完成上面的操作之後,我們就可以通過下面的指令來選擇不同的gcc和g++的版本了,(註意使用之前確保至少有兩個gcc或者g++的版本進行了第3步的操作):

sudo update-alternatives --config gcc

技術分享這裏我們選擇了2,也就是gcc-4.8的版本,接下來查看當前的版本是否已經切換過來了。

gcc -v

技術分享這樣表示確實切換過來了。

我們可以使用同樣的方法來選擇g++:

技術分享OK,我們都切換過來了,cheers!。

註意一個問題:

當切換使用了其他版本的gcc時,請務必保持g++的版本和gcc版本的一致性,否則用cmake配置出來的項目遇到c++代碼還是會用之前版本的gcc。

關於直接編譯安裝gcc的教程可以參看這裏(雖然我還沒成功):http://blog.csdn.net/ws_20100/article/details/51207372

Ubuntu16.04多個版本GCC編譯器的安裝和切換