Làm thế nào để cài đặt clang ++?


38

Tôi gặp sự cố khi clang ++ hoạt động khi tôi biên dịch mã của mình. Cụ thể, tôi đang gặp make: clang++: Command not foundlỗi.

Tôi đã chạy sudo apt-get install llvm, và cũng sudo apt-get install build-essentialsudo apt-get update. Tôi phải làm gì để cài đặt clang ++?

Câu trả lời:


36

Cài đặt llvmbuild-essentialcác gói, như bạn đã làm, không gây ra clanghoặc clang++không được cài đặt. Vì vậy, bạn phải cài đặt một trong các gói clang , tùy thuộc vào phiên bản nào clangclang++bạn muốn.

16.04

Trong Ubuntu 16.04, các tùy chọn của bạn là clang-3.5 , clang-3.6 , clang-3.7clang-3.8 .

14.04

Trong Ubuntu 14.04, các tùy chọn của bạn là clang-3.3Cài đặt clang-3.3 , clang-3.4Cài đặt clang-3,4clang-3.5Cài đặt clang-3.5 .

Bạn có thể cài đặt chúng trong Trung tâm phần mềm hoặc với:

sudo apt-get update
sudo apt-get install clang-3.n

(Tất nhiên, thay thế nbằng phiên bản phụ mong muốn.)

12.04

Nếu bạn đang chạy Ubuntu 12.04, chỉ có một gói cung cấp clangclang++do đó, nó chỉ được gọi là clangCài đặt tiếng kêu .


Có một cơ hội để cài đặt clang từ nguồn mà không có sudo? Sau khi thực hiện và kiểm tra tất cả, tôi đã thử sử dụng make install, nhưng rất nhiều sự cho phép đã bị từ chối.
Amir

liên kết "clang-3.5" tạo ra "Không tìm thấy trang 404".
CW Holeman II

2
clang-3.6 có sẵn trên trang tải xuống của họ cho ubfox
David Wong

1
Với 14.04 (cập nhật đáng tin cậy), clang-3.6cũng có sẵn.
Josh Milthorpe

3
Ít nhất là đối với tôi, vào ngày 14.04 với clang-3.8cài đặt, tôi đã thêm một liên kết mềm cho clang ++ (theo mặc định, tôi chỉ có /usr/bin/clang++-3.8). Ví dụ : sudo ln -s /usr/bin/clang++-3.8 /usr/bin/clang++.
rkersh

17

18.04 (Sinh học)

Tôi đã truy cập http://apt.llvm.org/bionic/dists/ (tức là các bản phân phối bionic).
Tôi xác định rằng 6.0 là phiên bản chính mới nhất của toolchain.

Tôi giả sử rằng bạn sẽ muốn trình liên kết, lld, cũng.

# grab the key that LLVM use to GPG-sign binary distributions
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-add-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-6.0 main"
sudo apt-get install -y clang-6.0 lld-6.0

Điều này cung cấp cho bạn nhị phân với các tên sau (và nhiều hơn nữa, có thể):

clang-6.0
clang++-6.0
lld-6.0
ld.lld-6.0

Nó cũng cài đặt các gói này (và hơn thế nữa):

llvm-6.0
llvm-6.0-dev
llvm-6.0-runtime

17.04 (Nghệ thuật)

Giống như trên. Tôi sẽ lặp lại mỗi dòng để sao chép thuận tiện.

# grab the key that LLVM use to GPG-sign binary distributions
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-add-repository "deb http://apt.llvm.org/artful/ llvm-toolchain-artful-6.0 main"
sudo apt-get install -y clang-6.0 lld-6.0

16.04 (Xenial)

Câu trả lời được chấp nhận đã đưa ra hướng dẫn để cài đặt clang-3.8 vào ngày 16.04, nhưng đây là cách nhận clang-6.0:

# grab the key that LLVM use to GPG-sign binary distributions
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main"
sudo apt-get install -y clang-6.0 lld-6.0

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.