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 ++?
Jawaban:
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.ccuntuk mengkompilasi program. Ini akan menghasilkan file executable default bernama a.out. Gunakan ./a.outuntuk menjalankan file.
Seluruh prosesnya mirip dengan g ++ jika Anda sudah terbiasa dengan g ++. Lihat posting ini untuk memeriksa peringatan mana yang disertakan dengan -Wallopsi. Halaman ini menunjukkan daftar tanda diagnostik yang didukung oleh Clang.
Selain itu, untuk anak cucu - Clang (seperti GCC) menerima -xsakelar untuk mengatur bahasa file input, misalnya,
$ clang -x c++ some_random_file.txt
Utas milis ini menjelaskan perbedaan antara clangdan clang++well: Perbedaan antara clang dan clang ++
#include <iostream>. -lstdc ++ flag memecahkan masalah ini.
clang.exe, lalu salin file yang dapat dieksekusi ke clang++.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-argke 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 .cppfile, .llfile (llvm ir) dan .o, .a, .sodan 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>dan clang++ -v <filename.cpp>, di bawah "#include <...> pencarian dimulai di sini:".