CMakeを使用してビルドするC++プロジェクトがあります。私は通常OSX上でビルドしますが、今はWindowsバージョンも動作させようとしています。互換性の理由から、WindowsでClangを使用したいと思います。
LLVMからプリコンパイル済みのClang 3.8バイナリをインストールしました。
C:\Program Files\LLVM\bin\clang.exe
C:\Program Files\LLVM\bin\clang++.exe
PATHにもインストールされます。
>clang++
clang++.exe: error: no input files
2つの質問があります。
clang++
を呼び出すときcmake --build
?Clangコンパイラ自体に加えて、Windows用のビルド/リンク環境も必要です。
最新のCMake 3.6ビルドには、Windowsでサポートされているいくつかの統合されたClangビルド環境があります(例:Visual Studio、Cygwin。 リリースノート を参照)。
私はちょうど成功したテストを実行しました
グローバルbin
環境のPATH
ディレクトリを使用して、すべて標準パスにインストールされます。
知っておく必要があるのは、CMakeで適切なツールセットを設定することです-T"LLVM-vs2014"
コマンドラインオプション。構成プロセス中に、CMakeは、検出/取得したコンパイラを通知します。
CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
project(HelloWorld)
file(
WRITE main.cpp
"#include <iostream>\n"
"int main() { std::cout << \"Hello World!\" << std::endl; return 0; }"
)
add_executable(${PROJECT_NAME} main.cpp)
Windowsコンソール
...> mkdir VS2015
...> cd VS2015
...\VS2015> cmake -G"Visual Studio 14 2015" -T"LLVM-vs2014" ..
-- The C compiler identification is Clang 3.9.0
-- The CXX compiler identification is Clang 3.9.0
-- Check for working C compiler: C:/Program Files (x86)/LLVM/msbuild-bin/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/LLVM/msbuild-bin/cl.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/LLVM/msbuild-bin/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/LLVM/msbuild-bin/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: .../VS2015
...\VS2015> cmake --build .
Microsoft (R)-Buildmodul, Version 14.0.23107.0
[...]
...\VS2015> Debug\HelloWorld.exe
Hello World!
インストールのヒント
セットアップ時にLLVMを検索パスに追加したことに注意してください。
また、VSプロジェクトのプロパティページで利用可能な「プラットフォームツールセット」をクロスチェックできます。
参考文献