この質問に関する上位2つの回答を組み込んだ詳細なチュートリアルを作成しました: http://blog.johannesmp.com/2015/09/01/installing-clang-on-windows-pt1/
Windowsでは、次のプログラムを考えます:
#include <iostream>
int main()
{
int arr[] = {1, 2, 3, 4, 5};
for(auto el : arr)
{
std::cout << el << std::endl;
}
return 0;
}
次のことができるようにしたい:
clang++ hello.cpp -o hello.exe -std=c++14
そして、だけが機能する64ビットの実行可能ファイルを取得します。 iostream
またはその他の標準c ++ヘッダーの場所をclangに指示するために、大量の-I
インクルードを追加する必要はありません。複数のステップでリンクする必要はありません。
パフォーマンス、効率、リンカの使用などについてはあまり気にしません。clang/ gcc/whateverを正しくセットアップして、単一の迅速で汚れたコンソールコマンドを使用できるようにしたいだけです。上記のもの。
ちょうど仕事にするには、何をインストールする必要がありますか?
主にmac/linuxユーザーとして、パッケージマネージャーを使用して最新バージョンのclangをインストールできるようになりました(これはjust works)。
私は今、Windows上でclang/gnuコンパイラを設定しようとしていますが、それははるかに難しいようです、単純なドキュメントがほとんどまたはまったくないからです(私が見つけることができた)
私はこのチュートリアルに従うことを試みました: https://yongweiwu.wordpress.com/2014/12/24/installing-clang-3-5-for-windows -そして(gcc 4.8.2を使用して)clangを構築およびリンクするために使用できましたが、結果のバイナリは32ビットでした。
Clangの最新のビルド済みバイナリ( 3.6.2 )および64ビットバージョンのmingw-w64( 4.9.3 for 64)をインストールしようとしました例外のためのposixとsjljでビット )、取得しています:
hello.cpp:1:10: fatal error: 'iostream' file not found
#include <iostream>
^
1 error generated.
これは、clangがgccのファイルを参照していないことを示しているようです。 LLVM/clangのいくつかのバージョンはgccの特定のバージョンのみを探しているようですが、それはどこにも文書化されていないようです?
同様に、誰かがLLVMで私に言ったIRC特定のパスでgccを探すためにclangのドライバーを修正する必要があると?
必要に応じてソースからLLVM/Clangをビルドしても問題ありませんが、clang++
をできるだけ簡単に使用できるようにする明確で段階的な手順を探しているだけです。 mac/linux
何かのようなもの:
this version
をビルドし、that directory
に配置しますthis version
(またはmingw32またはmingw-w64)をダウンロードしてインストールし、these packages
をインストールします。今後のclang 3.7.0を使用する場合、PATHにmingw-w64のビンを含めるように設定するだけで、clangは期待どおりに動作します
MSYS2 をインストールしてから、mingw-w64-x86_64-clang(バイナリ)パッケージをインストールしてみてください。
pacman -S mingw-w64-x86_64-clang
現時点では少し古い(3.6.2)が、それで十分かもしれない。その後、MSYS2が提供するWin64シェルを実行すると、clang
がパス上にあります。
十分でない場合は、最近、MSYS2で64ビットバージョンのclangを構築し、それを使用してネイティブの64ビットWindows実行可能ファイルをコンパイルしています。私のプロセスは次のようなものでした:
export MINGW_INSTALLS=mingw64
(64ビットバージョンのみをコンパイルしているため)、makepkg-mingw
。最初の試行ですべてが正しくなる可能性は低く、一部のファイルを編集する必要がある場合があります。 Clangは前回行ったときから変更されている可能性があり、一部のパッチはきれいに適用されない可能性があります。
Windows用のllvmプレリリースバイナリをインストールできます here 。 MinGW-w64は こちら からダウンロードできます。もちろん、パスが適切に設定されていることを確認する必要があります。
Clangの最新バージョン(例:clang 6.0.0
。 @ user5271266による上記の解決策では不十分です。 clang Windowsのデフォルトのターゲットはx86_64-pc-windows-msvc
(64ビットWindowsを使用していると仮定します)。
C++ソースファイルをコンパイルするには、 here に従って、ターゲットを変更する必要があります。
clang++ -target x86_64-pc-windows-gnu -std=c++14 test.cc -o test.exe