2016-08-21 5 views
1

clang-formatを使用しますが、私のシステムでは見つかりません。私はllvmをmacportsからインストールしました。それをインストール/有効にする方法は何ですか?macportsのclang-formatの使い方は?

答えて

2

clangツールを入手するにはclangをインストールする必要があります(llvmはclangの依存関係であるため、その半分の方法です)。 MacPortsのを経由してこの記事のように最新の安定版を入手するには、今、私のために打ち鳴らす形式は、その後/opt/local/libexec/llmv-3.9/binにインストールされている

sudo port install clang-3.9

を使用しています。ここでは、clang-tidyなど、他のすべてのclangツールも見つけられます。

簡略化のため、アップルのfmtコマンド:alias fmt ='/opt/local/libexec/llmv-3.9/bin/clang-format'が好きではないので、私は自分のbashプロファイルでエイリアスを作った。したがってfmt -i file.cは、.clang-formatファイルで選択したスタイルで、clang-format inplace(ファイルを上書き)を実行するようになりました。追加ボーナスとして

これはすべて打ち鳴らす形式のオプションが何をするかのテストを支援するための素晴らしいツールです。http://zed0.co.uk/clang-format-configurator/

+0

ありがとうございます!私はあなたが言及したディレクトリがありますが、そこにclang-tidyやclang-formatはありません。 – gruszczy

+0

@ gruszczy 'port contents clang-3.9'を実行すると返されるものは何ですか?さらに、どのバージョンのllvmをインストールしましたか? llvm-3.9をお持ちの場合は、そのコマンドを使用してください。それ以外の場合は、llvm-$(バージョン)があれば 'port contents clang - $(version)'を使用してください。あなたがインストールされているものを持っているなら、代わりに 'port contents clang-3.9 | grep "/opt/local/libexec/llvm-3.9/bin" 'が返されます。最初のコマンドが結果を返すが、2番目のコマンドが何らかの理由でそうでないと思った場所にclangツールがインストールされていない場合。 –

+0

'find/opt/local -name" clang-format "何も返されなければ、macportでclangを構築できなかったかもしれません。もう1つの可能性は、Macportをカスタムインストールして、/ opt/localにインストールされないようにデフォルトパスを変更したことです。 –

6

まず、コマンドその後

sudo port install clang-3.9 

とMacPortsをであなたを打ち鳴らす-3.9をインストールします既に使用することができるように、あなたのPATHにある/opt/local/binclang-format-mp-3.9があります。

clangと他のすべての関連ツールが、インストールしたバージョンを指し示すようにしたい場合は、MacPortsの選択メカニズムを使用できます。

clangにはport select --listと表示されます。 sudo port select --set clang <version>

$ port select --list clang 
Available versions for clang: 
    mp-clang-3.8 
    mp-clang-3.9 
    none (active) 

あなたはバージョン接尾辞なし/opt/local/binにシンボリックリンクを作成する新しいデフォルトとして、それらのいずれかを選択します。

$ sudo port select --set clang mp-clang-3.9 
Selecting 'mp-clang-3.9' for 'clang' succeeded. 'mp-clang-3.9' is now active. 

あなたはツールのバージョンを見て、この変更を確認することができます。

$ clang-format --version 
clang-format version 3.9.0 (tags/RELEASE_390/final) 

後でのXcodeによりインストール隠ぺいツールを避けるために、これらのシンボリックリンクを削除したい場合は、単にnoneを選択バージョン。

+0

これは正解です。 – CsBence

関連する問題