Ho provato
brew install llvm
ma dopo non riesco a trovare nessun clang++*
eseguibile sotto /usr/local
.
Quindi la mia domanda: come ottenere clang ++ via Homebrew?
Ho provato
brew install llvm
ma dopo non riesco a trovare nessun clang++*
eseguibile sotto /usr/local
.
Quindi la mia domanda: come ottenere clang ++ via Homebrew?
A partire dal 2018, il repository Homebrew Versions ('tap') è fuori servizio .
Il pacchetto Homebrew llvm di riserva non include ancora clang / clang ++, per impostazione predefinita. Quindi, non fa parte del pacchetto precompilato ('bottled').
Si può creare tramite:
brew install --with-toolchain llvm
E quindi utilizzalo per esempio:
$ PATH="/usr/local/opt/llvm/bin:$PATH" \
LDFLAGS='-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib' \
cmake ...
Questa build indotta da --with-toolchain
richiede molto tempo e quindi non è adatta in un ambiente di integrazione continua (CI).
Tuttavia, il clang che viene fornito con il recente XCode (che è disponibile in ambienti CI come Travis-CI, Versione 9 è il predefinito, 10 disponibili, anche) non è più obsoleto come in passato (Apple usa un schema di versione fantasy per clang che non corrisponde ai numeri di versione clang upstream ma cmake rileva ad es. per AppleClang 9.1.0.9020039 la versione 4.0.1). Pertanto, è sufficiente creare software C ++ 11 / C ++ 14 con dipendenze comuni come Boost (ad esempio versione 1.67).
Il pacchetto llvm
in Homebrew non include clang++
, per impostazione predefinita. Quando lo si installa, è necessario aggiungere --with-clang
alla riga di comando (ad esempio brew install --with-clang llvm
). L'extra --with-clang
fornisce una compilazione completa del pacchetto perché è disponibile un solo pacchetto pre-build ('in bottiglia') llvm
(senza clang++
). In aggiunta a ciò: il pacchetto llvm
è relativamente vecchio - attualmente ha llvm 3.6 - dove 3.7 è stato rilasciato 6 mesi fa.
Quindi, per ottenere una percentuale in bottiglia diclang++
3.7 devi installare il pacchetto llvm da versioni Homebrew :
$ brew tap homebrew/versions
$ brew install llvm37
È quindi disponibile sotto:
/usr/local/bin/clang++-3.7
La formula rileva anche:
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"
Devi installarlo con l'opzione --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
Leggi altre domande sui tag development homebrew