Ubuntu安裝Clang\Clang版本切換
目錄
1、廢話
clang這種可以直接用apt-get來安裝的,居然還有人寫了手動編譯的教程。。。直接使用apt-get安裝不是更好?雖然說使用apt-get可能不能安裝不了最新版,但是,最新版的特性也用不上啊。。。
2、安裝不同版本的Clang
使用apt-get命令安裝clang的某個版本
sudo apt-get install clang-3.8
然後通過update-alternatives安裝該版本clang的“快捷方式”:
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 1 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.8
如果安裝的是clang-4.0,就把上面的命令中的“/usr/bin/clang-3.8”(實際的可執行檔名,不同的clang版本是不同的)換成“/usr/bin/clang-4.0”,“/usr/bin/clang+±3.8”換成“/usr/bin/clang+±4.0”,其他版本也是同理。至於update-alternatives,大家可自行查閱其用法。
獲取clang版本:
clang --version
clang++ --version
不知道選哪個clang版本就選最新的。
2.1、Ubuntu 16.04 可選版本
# clang-3.5
sudo apt-get install clang-3.5
# clang-3.6
sudo apt-get install clang-3.6
# clang-3.7
sudo apt-get install clang-3.7
# clang-3.8
sudo apt-get install clang-3.8
# clang-3.9
sudo apt-get install clang-3.9
# clang-4.0
sudo apt-get install clang-4.0
2.2、Ubuntu 18.04 可選版本
# clang-3.9
sudo apt-get install clang-3.9
# clang-4.0
sudo apt-get install clang-4.0
# clang-5.0
sudo apt-get install clang-5.0
# clang-6.0
sudo apt-get install clang-6.0
2.3、Ubuntu 18.10 可選版本
# clang-3.9
sudo apt-get install clang-3.9
# clang-4.0
sudo apt-get install clang-4.0
# clang-5.0
sudo apt-get install clang-5.0
# clang-6.0
sudo apt-get install clang-6.0
# clang-7
sudo apt-get install clang-7
2、Clang不同版本的切換
update-alternatives可以很方便的完成不同版本的切換,直接來個例子吧。比如說我需要安裝clang-3.8和clang-4.0,然後需要在這兩個版本之間切換。
先安裝clang-3.8和clang-4.0:
sudo apt-get install clang-3.8 clang-4.0
然後使用update-alternatives“安裝”兩個版本的clang:
# for clang-3.8
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 1 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.8
# for clang-4.0
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 2 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-4.0
列印clang版本:
clang --version
clang++ --version
輸出:
clang version 4.0.0-1ubuntu1~16.04.2 (tags/RELEASE_400/rc1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
由於clang-4.0的優先順序“2”要比clang-3.8的“1”要高,所以此時clang-4.0是預設的版本。
如果要切換版本,輸入如下命令:
sudo update-alternatives --config clang
然後出現如下提示:
There are 2 choices for the alternative clang (providing /usr/bin/clang).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/clang-4.0 2 auto mode
1 /usr/bin/clang-3.8 1 manual mode
2 /usr/bin/clang-4.0 2 manual mode
Press <enter> to keep the current choice[*], or type selection number:
然後在“selection number:”後面輸入你要使用的clang版本序號(第一列),加入要切換為clang-3.8,就輸入1,然後回車,就切換為clang-3.8了。
列印clang版本:
clang --version
clang++ --version
輸出:
clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
update-alternatives也可以用來管理其他軟體的版本,比如還常常用於gcc的版本管理,是個很有用的工具。