web-dev-qa-db-ja.com

ClangでC ++をコンパイルするにはどうすればよいですか?

Ubuntuでapt-getを使用して Clang をインストールしました。これを使用してCファイルを正常にコンパイルできます。ただし、それを介してC++をコンパイルする方法はわかりません。 C++をコンパイルするには何が必要ですか?

84
pythonic

コマンドclangはC用であり、コマンドclang++はC++用です。

127
adl

また、後世のために-Clang(GCCなど)は-xスイッチを受け入れて、入力ファイルの言語を設定します。たとえば、

$ clang -x c++ some_random_file.txt

このメーリングリストのスレッドは、clangclang++の違いについて説明しています。clangとclang ++の違い

44
Kim Gräsman

問題に直接対処する答えがない理由がわかりません。 C++プログラムをコンパイルする場合は、clang++を使用するのが最適です。たとえば、次のように動作します:

clang++ -Wall -std=c++11 test.cc -o test

正しくコンパイルされると、実行可能ファイルtestが生成され、./testを使用してファイルを実行できます。

または、clang++ test.ccを使用してプログラムをコンパイルできます。 a.outという名前のデフォルトの実行可能ファイルが生成されます。 ./a.outを使用してファイルを実行します。

G ++に精通している場合、プロセス全体はg ++によく似ています。 この投稿 を参照して、-Wallオプションに含まれる警告を確認してください。 このページ には、Clangでサポートされている診断フラグのリストが表示されます。

30
jdhao

ソースからClangをビルドするときに、同様の問題がありました(ただし、Sudo apt-get installではありません。これは、実行しているUbuntuのバージョンによって異なります)。

clang++がC++ライブラリの正しい場所を見つけることができるかどうかを確認する価値があるかもしれません。

g++ -v <filename.cpp>clang++ -v <filename.cpp>の結果を比較します(「#include <...>検索はここから開始します:」)。

3
Guy Adini