回答:
また、後世のために-Clang(GCCなど)は-x
、入力ファイルの言語を設定するスイッチを受け入れます。たとえば、
$ clang -x c++ some_random_file.txt
このメーリングリストのスレッドが違いを説明clang
し、clang++
うまく:打ち鳴らすと打ち鳴らすの違いを++
clang.exe
、次にその実行可能ファイルをにコピーしますclang++.exe
。したがって、実行可能ファイルは同じですが、実行時に自身の名前をチェックして、CまたはC ++コンパイラーとして動作するかどうかを区別します。HTH。
-x c++
として与えるために非常に有用であった-extra-arg
と打ち鳴らす、きちんと代わりにCのC ++含むと.hファイルを処理するためにそれを強制するために、
clang++
して、どのような種類のファイルを提供するかを検出させるのが良いでしょう。プロジェクトに含めることができる場合は.cpp
、ファイル、.ll
ファイル(LLVM IR)と.o
、.a
、.so
サードパーティのライブラリから、何ていないファイルを、clang -x c++
ちょうどスローされます。
問題に直接対処する答えがない理由はわかりません。C ++プログラムをコンパイルする場合は、を使用するのが最適clang++
です。たとえば、私にとっては次のように機能します。
clang++ -Wall -std=c++11 test.cc -o test
正しくコンパイルされていれば、実行可能ファイルが生成test
され、を使用してファイルを実行できます./test
。
またはclang++ test.cc
、プログラムのコンパイルに使用することもできます。という名前のデフォルトの実行可能ファイルが作成されa.out
ます。./a.out
ファイルを実行するために使用します。
プロセス全体は、g ++に精通している場合はg ++によく似ています。オプションに含まれる警告を確認するには、この投稿を参照してください-Wall
。このページには、Clangでサポートされている診断フラグのリストが表示されます。
#include <iostream>
。-lstdc ++フラグはこの問題を解決しました。