Saya telah menginstal Clang dengan menggunakan apt-get di Ubuntu, dan saya berhasil mengkompilasi file C menggunakannya. Namun, saya tidak tahu bagaimana mengkompilasi C ++ melaluinya. Apa yang harus saya lakukan untuk mengompilasi C ++?
Perintah clang
untuk C, dan perintah clang++
untuk C ++.
Saya tidak tahu mengapa tidak ada jawaban yang langsung menangani masalah tersebut. Saat Anda ingin mengkompilasi program C ++, yang terbaik adalah menggunakan clang++
. Misalnya, berikut ini berfungsi untuk saya:
clang++ -Wall -std=c++11 test.cc -o test
Jika dikompilasi dengan benar, itu akan menghasilkan file yang dapat dieksekusi test
, dan Anda dapat menjalankan file dengan menggunakan ./test
.
Atau Anda bisa menggunakan clang++ test.cc
untuk mengkompilasi program. Ini akan menghasilkan file executable default bernama a.out
. Gunakan ./a.out
untuk menjalankan file.
Seluruh prosesnya mirip dengan g ++ jika Anda sudah terbiasa dengan g ++. Lihat posting ini untuk memeriksa peringatan mana yang disertakan dengan -Wall
opsi. Halaman ini menunjukkan daftar tanda diagnostik yang didukung oleh Clang.
Selain itu, untuk anak cucu - Clang (seperti GCC) menerima
-x
sakelar untuk mengatur bahasa file input, misalnya,Utas milis ini menjelaskan perbedaan antara
clang
danclang++
well: Perbedaan antara clang dan clang ++sumber
#include <iostream>
. -lstdc ++ flag memecahkan masalah ini.clang.exe
, lalu salin file yang dapat dieksekusi keclang++.exe
. Jadi itu dapat dieksekusi yang sama, hanya pada waktu proses ia memeriksa namanya sendiri untuk membedakan apakah berperilaku sebagai kompiler C atau C ++. HTH.-x c++
sangat berguna untuk memberikan sebagai-extra-arg
ke dentang-rapi , untuk memaksa untuk mengobati H file sebagai mengandung C ++ bukan C.clang++
dan membiarkannya mendeteksi jenis file apa yang Anda berikan padanya. Ketika sebuah proyek dapat berisi.cpp
file,.ll
file (llvm ir) dan.o
,.a
,.so
dan apa yang tidak file dari perpustakaan pihak ketiga,clang -x c++
hanya akan muntah.Saya mengalami masalah serupa saat membuat Clang dari sumber (tetapi tidak dengan
sudo apt-get install
. Ini mungkin tergantung pada versi Ubuntu yang Anda jalankan).Mungkin perlu diperiksa apakah
clang++
dapat menemukan lokasi yang benar dari pustaka C ++ Anda:Bandingkan hasil
g++ -v <filename.cpp>
danclang++ -v <filename.cpp>
, di bawah "#include <...> pencarian dimulai di sini:".sumber
solusi 1:
solusi 2:
solusi 3:
sumber