Saya sudah mencoba
brew install llvm
tapi setelah itu saya tidak dapat menemukan clang++*
executable di bawah /usr/local
.
Jadi pertanyaan saya: Bagaimana cara mendapatkan dentingan ++ melalui Homebrew?
sumber
Saya sudah mencoba
brew install llvm
tapi setelah itu saya tidak dapat menemukan clang++*
executable di bawah /usr/local
.
Jadi pertanyaan saya: Bagaimana cara mendapatkan dentingan ++ melalui Homebrew?
Pada 2018, repositori Versi Homebrew ('ketuk') tidak berfungsi .
Paket stock Homebrew llvm masih belum menyertakan clang / clang ++, secara default. Dengan demikian, ini bukan bagian dari paket prebuilt ('botol').
Seseorang dapat membangunnya melalui:
brew install --with-toolchain llvm
Dan kemudian menggunakannya via mis:
$ PATH="/usr/local/opt/llvm/bin:$PATH" \
LDFLAGS='-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib' \
cmake ...
Tetapi --with-toolchain
pembangunan yang diinduksi ini membutuhkan waktu yang sangat lama dan karenanya tidak cocok dalam lingkungan integrasi berkelanjutan (CI).
Namun, dentang yang datang dengan XCode baru-baru ini (yang tersedia di lingkungan CI seperti Travis-CI, Versi 9 adalah default, 10 tersedia juga) tidak ketinggalan jaman lagi seperti dulu (Apple menggunakan skema versi fantasi untuk dentang yang tidak cocok dengan nomor versi dentang hulu tetapi cmake mendeteksi misalnya untuk AppleClang 9.1.0.9020039 versi 4.0.1). Dengan demikian, cukup untuk membangun perangkat lunak C ++ 11 / C ++ 14 dengan dependensi umum seperti Boost (misalnya versi 1.67).
The llvm
paket di Homebrew tidak termasuk clang++
, secara default. Saat menginstalnya, Anda harus menambahkan --with-clang
ke baris perintah (misalnya brew install --with-clang llvm
). Hasil tambahan --with-clang
kompilasi paket lengkap karena hanya ada satu paket prebuild ('botol') llvm
yang tersedia (tanpa clang++
). Selain itu: llvm
paketnya relatif lama - saat ini memiliki llvm 3.6 - di mana 3.7 dirilis 6 bulan lalu.
Jadi, untuk mendapatkan botol clang++
3.7, Anda harus menginstal paket llvm dari Homebrew Version :
$ brew tap homebrew/versions
$ brew install llvm37
Ini kemudian tersedia di bawah:
/usr/local/bin/clang++-3.7
Rumusnya juga mencatat:
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) dihomebrew-core
tap sekarang termasukclang
,clang++
, dll di bawah/usr/local/opt/llvm/bin
--with-toolchain
argumen yang dibutuhkan beberapa pengguna. Info lebih lanjut di sini, embeddedartistry.com/blog/2017/2/20/installing-clangllvm-on-osx--with-clang
argumen telah dihapus.brew install --with-toolchain llvm
karena @hangtwenty menyarankan ataubrew install llvm
cukup? Dengan--with-toolchain
opsi paket dikompilasi - yang sangat memakan waktu - dibandingkan dengan hanya menginstal paket prebuilt (botol / biner).Anda harus menginstalnya dengan
--with-clang
opsi:Kemudian, Anda akan menemukan
clang++
di / usr / local / opt / llvm / bin / clang ++ .sumber
--with-clang
? Saya bertanya karena saya bermaksud menyebutnya dalam lingkungan integrasi berkelanjutan ...Opsi --with-clang dan --with-toolchain tidak berfungsi lagi. Ini bekerja untuk saya:
Saya dikompilasi dengan
sumber
/usr/local/include
folder sebagai basis termasuk dir, sehingga semua perangkat lunak gagal. Dentang yang disediakan oleh xcode tidak memilikifsanitize=leak
danccc-analyzer
. Jadi kedua dentang di mac os rusak. Anda harus membangunnya dengan semua fitur yang diaktifkan dari sumber. Tetapi kompilasi akan membunuh CI Anda seperti travis. Jadi, Anda harus meng-host dan mempertahankan CI terpisah hanya untuk apel. Apple hanya baik untuk pengembangan sederhana, apa pun membutuhkan rasa sakit.Sekarang sudah cukup untuk dijalankan:
Botol sekarang termasuk
clang
secara default.sumber