Pertanyaan dentang dan dentang ++ tidak ditemukan setelah menginstal paket clang-3.5


Setelah menginstal clang-3.5 paket, mengetik clang atau clang++ pada baris perintah memberi saya pesan yang menyatakan paket-paket mana dari program-program itu dapat ditemukan. Berusaha menjalankan instalasi clang-3.5 sekali lagi, negara bagian itu sudah diinstal dan pada versi terbaru.

Instalasi asli dilakukan dengan perintah:

sudo apt-get install clang-3.5 llvm

build-essential telah diinstal sebelumnya.

Ada gagasan tentang apa yang mungkin telah terjadi?


23
2018-02-12 15:17


asal




Jawaban:


Itu ada di sana, tetapi masih disebut clang-3.5.

Anda bisa menjalankannya sebagai clang-3.5 (atau clang++-3.5) atau mengatur symlink seperti yang saya lakukan (memasang clang biasa tidak berfungsi):

sudo ln -s /usr/bin/clang-3.5 /usr/bin/clang
sudo ln -s /usr/bin/clang++-3.5 /usr/bin/clang++

Ugly work-around, mungkin; tetapi setidaknya berfungsi untuk saat ini :)


28
2018-02-14 19:01





Cara yang tepat untuk menggunakan dentang sebagai default Anda cc dan c++ adalah untuk digunakan update-alternatives:

Ada kemungkinan untuk beberapa program yang memenuhi fungsi yang sama atau serupa untuk diinstal pada sistem tunggal pada saat yang bersamaan. Sebagai contoh, banyak sistem memiliki beberapa editor teks yang diinstal sekaligus. Ini memberikan pilihan kepada pengguna sistem, memungkinkan masing-masing untuk menggunakan editor yang berbeda, jika diinginkan, tetapi menyulitkan program untuk membuat pilihan editor yang baik untuk memohon jika pengguna belum menentukan preferensi tertentu.

jadi pertama-tama Anda perlu menambahkan clang-3.5 atau clang++-3.5 sebagai alternatif untuk misalnya gcc dan g++:

sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang-3.5 100
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++-3.5 100

Jika suatu saat Anda perlu beralih kembali ke gcc atau g++ Anda bisa menggunakan --config pilihan:

sudo update-alternatives --config c++

10
2017-11-20 10:52



Bisakah Anda menambahkan beberapa penjelasan tambahan mengenai argumen? Mengapa cc / c++ di antara dua jalur? Apa itu 100 pada akhirnya? Prioritas? - helmesjo
Melihat update-alternatives dokumen. Saya pikir mereka memiliki penjelasan yang lebih baik daripada yang saya rangkum di sini. - Yan Foto


Pada Ubuntu 15.04 Anda juga dapat menginstal paket clang di sepanjang paket clang-x.x. Anda kemudian dapat mengetik clang ++ dan executable yang sesuai harus ditemukan.

sudo apt-get install clang

5
2018-05-20 16:34



Bukankah "apt-get install clang" cukup instal versi terbaru, lalu gunakan itu? Jika OP menginstal v3.5, dia tidak ingin menggunakan yang terbaru. - amfcosta


Menambah jawaban Yan Foto (dan berjaga-jaga jika tujuan Anda adalah untuk mendapatkan yang dapat digunakan clang tetapi tidak harus menggunakannya sebagai cc), Anda benar-benar dapat menambahkan seluruh rangkaian program sekaligus

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-3.8 380 \
--slave /usr/bin/clang++ clang++ /usr/bin/clang++-3.8 \
--slave /usr/bin/clang-check clang-check /usr/bin/clang-check-3.8 \
--slave /usr/bin/clang-query clang-query /usr/bin/clang-query-3.8 \
--slave /usr/bin/clang-rename clang-rename /usr/bin/clang-rename-3.8

(Perhatikan bahwa kumpulan biner yang datang dengan setiap versi clang mungkin berbeda, misalnya 3.6 memiliki clang-tblgen, 3.8 tidak.)

Jika Anda mengulang ini untuk setiap versi dentang yang Anda pasang, Anda akan dapat beralih di antara mereka hanya dengan menggunakan satu update-alternatives perintah.

(Sementara itu, tampaknya, masih ada perdebatan berkelanjutan tentang apakah akan menyertakan tautan ini dengan paket Ubuntu atau tidak: https://bugs.launchpad.net/ubuntu/+source/llvm-3.1/+bug/991493)


3
2017-12-15 02:43





Buat file .bashrc di direktori home Anda. Ketik baris kode ini.

alias clang ++ = "clang ++ - 3.5"

Tutup terminal Anda. Buka lagi. Kemudian, coba kompilasi program Anda lagi.

Dari apa yang dapat saya katakan, clang tidak akan berfungsi kecuali Anda menyatakan versi dalam nama perintah "clang ++ - 3.5". Jadi saya hanya nama alias di file .bashrc saya. Jadi saya hanya perlu mengetik "clang ++".

Dengan cara saya mengunduh clang 3.5, sesuaikan saran sebelumnya ke versi Anda.


0
2018-01-14 21:12





Jika Anda telah menginstal clang dengan benar, cara lain yang sangat mudah untuk menghemat kesulitan dalam mengetikkan nomor versi bersama dengan nama program adalah menggunakan fitur penyelesaian otomatis, misalnya (memiliki clang ++ - 3.5 installed):

clang+[TAB][ENTER]

Jadi Anda hanya perlu mengetik clang+, memukul Tab dan Memasukkan. Bekerja dengan cara yang sama dengan nama direktori, nama file, dll. (Ini tidak akan membantu Anda, namun, jika Anda memiliki lebih dari satu versi program yang diinstal.)


0
2018-05-09 13:46





Ini harus mengatur pembaruan-alternatif untuk clang-4,0 jika clang-3.8 (seperti pada Ubuntu 16.04) diinstal:

sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-4.0 100
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-4.0 100
sudo update-alternatives --install /usr/bin/clang-apply-replacements clang-apply-replacements /usr/bin/clang-apply-replacements-4.0 100
sudo update-alternatives --install /usr/bin/clang-check clang-check /usr/bin/clang-check-4.0 100
sudo update-alternatives --install /usr/bin/clang-query clang-query /usr/bin/clang-query-4.0 100
sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-4.0 100
sudo update-alternatives --install /usr/bin/scan-build scan-build /usr/bin/scan-build-4.0 100
sudo update-alternatives --install /usr/bin/scan-view scan-view /usr/bin/scan-view-4.0 100

0
2018-05-29 14:14