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-toolchain
acumulació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 llvm
paquete en Homebrew no incluye clang++
, por defecto. Al instalarlo, debe agregarlo --with-clang
a la línea de comando (por ejemplo brew install --with-clang llvm
). El extra de --with-clang
los rendimientos de una compilación paquete completo, porque sólo hay una prebuild ( 'botella') llvm
paquete disponible (sin clang++
). Además de eso: el llvm
paquete 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-core
grifo ahora incluyeclang
,clang++
, etc., bajo/usr/local/opt/llvm/bin
--with-toolchain
argumento ahora que algunos usuarios podrían necesitar. Más información aquí, embeddedartistry.com/blog/2017/2/20/installing-clangllvm-on-osx--with-clang
argumento ha sido eliminado.brew install --with-toolchain llvm
como @hangtwenty sugiere o esbrew install llvm
suficiente? Con la--with-toolchain
opció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-clang
opció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/include
carpeta como base incluye el directorio, por lo que falla la construcción de todo el software. Clang proporcionado por xcode no tienefsanitize=leak
yccc-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
clang
por defecto.fuente