meaning c++ windows build cmake clang

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

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:

  1. ¿Cómo le digo a CMake que use clang++ cuando llamo a cmake --build ?
  2. ¿Cómo puedo verificar antes de compilar con qué compilador CMake está configurado?