clang-3.8をデフォルトとして設定


11

clang 3.0とclang 3.8をインストールしました:

$ sudo update-alternatives --config clang

更新代替:エラー:clangの代替はありません。

3.8をどのように設定でき/usr/bin/clangますか?


:を/ etc /代替/一つ以上の打ち鳴らすエントリーしてくださいsudo update-alternatives --install "/usr/bin/clang" "clang" "[path-to]/clang" 1000、このJavaの例のようなaskubuntu.com/questions/56104/...
クヌーズラーセン

実際には、名前は「cc」です。だからあなたが発行する必要があります:sudo update-alternatives --config cc
duli

回答:


23
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 100

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 100

私は「6.0」を表すために「60」を使用し--slave、独立したルールの代わりに別の例を使用していました-あなたの考えは何ですか?update-alternativesシンボリックリンクを連鎖する以上のことをしているようには見えませんが、何が間違っているのかを知るのに十分に使用していません。
ジョンP

答えてくれてありがとう。何をしない100最後には意味ですか?
banarun

「100」は任意の優先順位番号です。特に指定しない限り、優先順位が最も高いアプリケーションが自動的に使用されます。たとえば、私のシステムはgcc、優先度20およびclang優先度10で表示されます。自動モードでは、update-alternativesを選択しgccます。優先度50で上記を実行すると、clang-3.8両方の既存のオプションの自動設定が設定されます
-arclight

1

試してください:

sudo update-alternatives --config cc

また、選択できるオプションのリストが表示されます。

makeユーティリティはコマンドccを使用してコンパイルします。これは実際にはgcc、clangなどへのリンクです。


1
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-8   81 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-8    --slave /usr/share/man/man1/clang.1.gz clang.1.gz /usr/share/man/man1/clang-8.1.gz --slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-8  --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-8
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-6.0 60 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-6.0  --slave /usr/share/man/man1/clang.1.gz clang.1.gz /usr/share/man/man1/clang-6.0.1.gz --slave /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-6.0 --slave /usr/bin/clang-format clang-format /usr/bin/clang-format-6.0

これらのコマンドは2つのエントリを追加し、デフォルトでclang-8が選択されます。を使用して設定できます

sudo update-alternatives --config clang

これにより、clang、clang ++、manページ、clang-format、clang-tidyが更新されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.