È inoltre necessario, oltre ai compilatori Clang, un ambiente di build/collegamento per Windows.
Le ultime build di CMake 3.6 hanno diversi ambienti di compilazione integrati Clang supportati su Windows (ad esempio Visual Studio, Cygwin; vedere Release Notes).
Ho appena eseguito un test di successo con
tutti installati per il loro standard percorsi con le loro directory bin
nel globale PATH
ambiente.
La parte che è necessario conoscere è impostare il set di strumenti corretto con l'opzione della riga di comando di CMake -T"LLVM-vs2014"
. Durante il processo di configurazione CMake ti farà sapere quale compilatore ha trovato/preso.
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)
Console di 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!
installazione Suggerimenti
prega di notare che ho aggiunto LLVM ai miei percorsi di ricerca durante l'installazione:
E si può confronta le "set di strumenti della piattaforma" disponibili nella pagina delle proprietà di qualsiasi progetto VS:
Riferimenti
C'è il file 'toolchain.txt', cercare questo nei documenti. –
Su ubuntu, uso CC = 'g ++ -m64' quando invoco il compilatore g ++ tramite Make (Make ha $ (CC) in esso) Io uso CC = "clang ++ -m64 'per invocare clang ++. (Non uso CMake né Windows) –
Cosa c'è di sbagliato nell'usare '-DCMAKE_CXX_COMPILER = C:/percorso/in/clang ++'? – usr1234567