ubuntu debian這些系統內核和編譯工具不停的在更新,版本越來越高。
有時候需要編譯一些幾年前的程序,發現一些語法變了,一個個改太麻煩。只有安裝老版本的編譯器纔是最明智的選擇。
linux安裝GCC和一些編譯工具
sudo apt-get install gcc build-essential binutils
ARM交叉編譯器安裝(軟浮點,適合ARM9、ARM11之類的處理器)
sudo apt-get install gcc-arm-linux-gnueabi
ARM交叉編譯器安裝(硬件浮點)
sudo apt-get install gcc-arm-linux-gnueabihf
這樣安裝都是安裝當前操作系統的適用的版本,很多時候我們需要用低版本的編譯器去編譯低版本的內核或者程序
這時候我們可以這樣安裝低版本的編譯器
sudo apt-get install gcc-4.8
sudo apt-get install gcc-4.8-arm-linux-gnueabi
sudo apt-get install gcc-4.8-arm-linux-gnueabihf
這樣可以安裝,但是使用的時候必須得在GCC後面加上版本號,後面我們得藉助update-alternatives來選擇現在想使用的
命令參數:update-alternatives: --install needs <link> <name> <path> <priority>
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 30
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30
sudo update-alternatives --config gcc
###輸出
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-4.8 30 auto mode
1 /usr/bin/gcc-4.8 30 manual mode
2 /usr/bin/gcc-5 30 manual mode
Press <enter> to keep the current choice[*], or type selection number: 0
同理交叉編譯器也一樣
sudo update-alternatives --install /usr/bin/arm-linux-gnueabi-gcc arm-linux-gnueabi-gcc
/usr/bin/arm-linux-gnueabi-gcc-5 20
sudo update-alternatives --install /usr/bin/arm-linux-gnueabi-gcc arm-linux-gnueabi-gcc /usr/bin/arm-linux-gnueabi-gcc-4.9 30
sudo update-alternatives --config arm-linux-gnueabi-gcc
##輸出
There are 2 choices for the alternative arm-linux-gnueabi-gcc (providing /usr/bin/arm-linux-gnueabi-gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/arm-linux-gnueabi-gcc-4.9 30 auto mode
1 /usr/bin/arm-linux-gnueabi-gcc-4.9 30 manual mode
2 /usr/bin/arm-linux-gnueabi-gcc-5 20 manual mode
Press <enter> to keep the current choice[*], or type selection number: 0