Lo he intentado
brew install llvm
pero después de eso no puedo encontrar clang++*
ejecutable en /usr/local
.
Por lo tanto, mi pregunta: ¿Cómo obtener clang ++ a través de Homebrew?
Lo he intentado
brew install llvm
pero después de eso no puedo encontrar clang++*
ejecutable en /usr/local
.
Por lo tanto, mi pregunta: ¿Cómo obtener clang ++ a través de Homebrew?
A partir de 2018, el repositorio de Versiones de Homebrew ('tap') está fuera de servicio .
El paquete original de Homebrew llvm aún no incluye clang / clang ++, por defecto. Por lo tanto, no es parte del paquete precompilado ('embotellado').
Uno puede construirlo a través de:
brew install --with-toolchain llvm
Y luego úsalo a través de, por ejemplo:
$ PATH="/usr/local/opt/llvm/bin:$PATH" \
LDFLAGS='-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib' \
cmake ...
Pero esta construcción inducida --with-toolchain
lleva mucho tiempo y, por lo tanto, no es adecuada en un entorno de integración continua (CI).
Sin embargo, el clang que viene con XCode reciente (que está disponible en entornos CI como Travis-CI, Versión 9 es el predeterminado, 10 disponibles, también) ya no está tan desactualizado como solía ser (Apple usa un Esquema de versión de fantasía para el Clang que no coincide con los números de versión de Clang ascendente, pero CMake detecta, por ejemplo, para AppleClang 9.1.0.9020039 la versión 4.0.1). Por lo tanto, es suficiente compilar software C ++ 11 / C ++ 14 con dependencias comunes como Boost (por ejemplo, la versión 1.67).
El paquete llvm
en Homebrew no incluye clang++
, por defecto. Al instalarlo, debe agregar --with-clang
a la línea de comando (por ejemplo, brew install --with-clang llvm
). El --with-clang
adicional produce una compilación del paquete completo porque solo hay un paquete llvm
prebuild ('bottled') disponible (sin clang++
). Además de eso, el paquete llvm
es relativamente antiguo, actualmente tiene llvm 3.6, donde se lanzó 3.7 hace 6 meses.
Por lo tanto, para obtener un clang++
3.7 embotellado, debe instalar el paquete llvm desde Versiones Homebrew :
$ brew tap homebrew/versions
$ brew install llvm37
Entonces está disponible bajo:
/usr/local/bin/clang++-3.7
La fórmula también señala:
To link to libc++, something like the following is required:
CXX="clang++-3.7 -stdlib=libc++"
CXXFLAGS="$CXXFLAGS -nostdinc++ -I/usr/local/opt/llvm37/lib/llvm-3.7/include/c++/v1"
LDFLAGS="$LDFLAGS -L/usr/local/opt/llvm37/lib/llvm-3.7/lib"
Tienes que instalarlo con la opción --with-clang
:
$ brew install --with-clang llvm
==> Installing dependencies for llvm: cmake
==> Installing llvm dependency: cmake
==> Downloading https://homebrew.bintray.com/bottles/cmake-3.4.3.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring cmake-3.4.3.el_capitan.bottle.tar.gz
==> Caveats
Emacs Lisp files have been installed to:
/usr/local/share/emacs/site-lisp/cmake
==> Summary
Lea otras preguntas en las etiquetas homebrew development