c++ - meaning - llvm
¿Cómo le digo a CMake que use Clang en Windows? (1)
También necesita, además de los compiladores de Clang, un entorno de compilación / enlace para Windows.
Las últimas compilaciones de CMake 3.6 tienen varios entornos de compilación Clang compatibles integrados en Windows (por ejemplo, Visual Studio, Cygwin; consulte las Notas de la versión ).
Acabo de ejecutar una prueba exitosa con
- LLVM-3.9.0-r273898-win32.exe de http://llvm.org/builds/
- cmake-3.6.0-rc4-win64-x64.msi de https://cmake.org/download/
- Microsoft VS2015 Community Edition Versión 14.0.23107.0
Todos instalados en sus rutas estándar con sus directorios
bin
en el entorno
PATH
global.
La parte que necesita saber es configurar el conjunto de herramientas correcto con la opción de línea de comando CMake
-T"LLVM-vs2014"
.
Durante el proceso de configuración, CMake le permitirá saber qué compilador ha encontrado / tomado.
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)
Consola de 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!
Consejos de instalación
Tenga en cuenta que he agregado LLVM a mis rutas de búsqueda durante la configuración:
Y puede verificar los "Conjuntos de herramientas de plataforma" disponibles en la página de propiedades de cualquier proyecto VS:
Referencias
Tengo un proyecto C ++ que se construye usando CMake. Usualmente construyo en OSX pero ahora estoy tratando de hacer que una versión de Windows funcione también. Me gustaría usar Clang en Windows por razones de compatibilidad.
Instalé el binario precompilado Clang 3.8 de LLVM:
C:/Program Files/LLVM/bin/clang.exe
C:/Program Files/LLVM/bin/clang++.exe
También está instalado en mi RUTA:
>clang++
clang++.exe: error: no input files
Tengo dos preguntas:
-
¿Cómo le digo a CMake que use
clang++
cuando llamo acmake --build
? - ¿Cómo puedo verificar antes de compilar con qué compilador CMake está configurado?