He intentado
brew install llvm
pero después de eso no puedo encontrar ninguna clang++*bajo ejecutable /usr/local.
Por lo tanto mi pregunta: ¿Cómo obtener sonido metálico ++ a través de Homebrew?
fuente
He intentado
brew install llvm
pero después de eso no puedo encontrar ninguna clang++*bajo ejecutable /usr/local.
Por lo tanto mi pregunta: ¿Cómo obtener sonido metálico ++ a través de Homebrew?
A partir de 2018, las versiones Homebrew repositorio ( 'grifo') está fuera de servicio .
El paquete de la llvm Homebrew todavía no incluye sonido metálico / ruido metálico ++, por defecto. Por lo tanto, no es parte de la pre-compilados ( 'botella') paquete.
Se puede construir a través de:
brew install --with-toolchain llvm
Y luego úsalo 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 --with-toolchainacumulación inducida lleva mucho tiempo y es por tanto inadecuada en un entorno de integración continua (CI).
Sin embargo, el sonido metálico que viene con XCode reciente (que está disponible en entornos CI como Travis-CI, la Versión 9 es la predeterminada, 10 disponible también) ya no está tan desactualizado como solía estarlo (Apple usa un esquema de versión de fantasía para el ruido metálico que no coincide con los números de versión clang aguas arriba pero cmake detecta por ejemplo, para AppleClang 9.1.0.9020039 la versión 4.0.1). Por lo tanto, es suficiente para construir software C ++ 11 / C ++ 14 con dependencias comunes como Boost (por ejemplo la versión 1.67).
El llvmpaquete en Homebrew no incluye clang++, por defecto. Al instalarlo, debe agregarlo --with-clanga la línea de comando (por ejemplo brew install --with-clang llvm). El extra de --with-clanglos rendimientos de una compilación paquete completo, porque sólo hay una prebuild ( 'botella') llvmpaquete disponible (sin clang++). Además de eso: el llvmpaquete es relativamente antigua - Actualmente tiene llvm 3.6 - 3.7, donde fue lanzado hace 6 meses.
Por lo tanto, para conseguir una botella clang++de 3,7 tiene que instalar el paquete llvm de versiones Homebrew :
$ brew tap homebrew/versions
$ brew install llvm37
Luego está disponible en:
/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"
llvm(3.9.1) en elhomebrew-coregrifo ahora incluyeclang,clang++, etc., bajo/usr/local/opt/llvm/bin--with-toolchainargumento ahora que algunos usuarios podrían necesitar. Más información aquí, embeddedartistry.com/blog/2017/2/20/installing-clangllvm-on-osx--with-clangargumento ha sido eliminado.brew install --with-toolchain llvmcomo @hangtwenty sugiere o esbrew install llvmsuficiente? Con la--with-toolchainopción del paquete se compila - que es mucho tiempo - en comparación con sólo la instalación de un paquete precompilado (embotellada / binario).Tienes que instalarlo con
--with-clangopción:Luego, encontrará
clang++en / usr / local / opt / llvm / bin / clang ++ .fuente
--with-clang? Me pregunto porque tengo la intención de llamar a que en un entorno de integración continua ...El --con-ruido metálico y opciones --with-cadena de herramientas ya no funcionan. Esto funcionó para mí:
Compilé con
fuente
/usr/local/includecarpeta como base incluye el directorio, por lo que falla la construcción de todo el software. Clang proporcionado por xcode no tienefsanitize=leakyccc-analyzer. Así que ambos clangs en mac os están rotos. Tienes que construirlo con todas las funciones habilitadas desde la fuente. Pero la compilación matará tu CI como travis. Por lo tanto, debe hospedar y mantener un CI separado solo para apple. Apple es bueno solo para un desarrollo simple, cualquier otra cosa requiere dolor.Ahora es suficiente para ejecutar:
La botella ahora incluye
clangpor defecto.fuente