私は(ここで私がディレクトリにいると仮定して)を入力してプログラムをコンパイルしようとしています
clang++ file_name.cpp
。自動的にコンパイルして実行する必要がありますが、イベントは終了せず、入力のために端末が再び開きます。フォルダディレクトリに「a.out」というファイルが表示されます。と入力すると、
clang++ file_name.cpp
何も起こらずに端末に戻ります。と入力すると、
clang++ a.out.cpp
コンパイラはファイルが見つからないと言い、コンパイラを閉じます。 clangが正しくインストールされていることを確認しようとしましたが、正しくインストールされました。私は何が間違っているのかわかりません。
答え1
同様のコンパイラはclang++
ソースコードのみをコンパイルします。あなたの場合は、実行可能ファイルを生成しますa.out
(このオプションを使用して別の出力ファイル名を使用するように明示的に指示しなかったため-o
)。コンパイラは生成された実行可能ファイルを自動的に実行しません。これらはg++
GNU C ++コンパイラとCclang
コンパイラgcc
(そしてコンパイルが必要な他のほとんどの言語用コンパイラ)にも当てはまります。
実行可能ファイルを実行するには、次のコマンドを実行します。
./a.out
シェルコマンドプロンプトで。
実行可能ファイルに既存のデフォルト名以外の名前を指定するには、a.out
次のように使用します。
clang++ -o myprog file_name.cpp
myprog
ソースから作成されましたfile_name.cpp
。
ソースコードが単一のファイルとして提供されている場合は、以下をfile_name.cpp
使用してソースコードを実行可能ファイルにコンパイルするmake
こともできます。file_name
make file_name
file_name
ソースコードファイルと同じディレクトリにあります(ただし、最後のコンパイル以降にソースコードが更新された場合のみ)。必ずしもMakefile
存在する必要はありませんが、組み込みの暗黙的な規則がmake
C ++ソースコードをコンパイルするために使用されます。
使用
CXX=clang++ make file_name
clang++
明示的にコンパイラを使用してください。
これについて詳しくは、make
関連するGNUドキュメントを参照してください。暗黙のルールmake
(BSDシステムなどの他の実装では、同様の暗黙の規則を使用します。)