2016-09-28 15 views
2

いくつかのソースファイルとヘッダーファイルを含むC++プロジェクトを作成しました。プログラムはコードブロックでうまくコンパイルされて実行されますが、ターミナルではコンパイルできません。C++プログラムはコードブロックでコンパイルして実行しますが、端末でコンパイルできません

すべてのファイルは同じフォルダにあります。

clang++ -std=c++11 main.cpp file1.cpp file1.h 

それは示しています:

clang: warning: treating 'c-header' input as 'c++-header' when in C++ mode, this behavior is deprecated 

約エラーのパンチ:頭ファイルで

error: use of undeclared identifier 'std' 

は、ここで私が入力したコマンドです。

+0

あなたが疑問に思っている場合には、ヘッダをどこかに入れると、それを含むソースファイルに含まれるものにアクセスすることができます。しかし、コンパイルしようとすると、ソースコードとして動作し、明示的に含まれることが期待されます。 –

+0

Long-story-short:既に答えられているように、ヘッダーをコンパイルしようとしないでください。 –

答えて

10

ヘッダーファイル(.h)をコンパイルしないようにしてください。

で試してみてください:

clang++ -std=c++11 main.cpp file1.cpp 

ヘッダファイルはプリプロセッサがそれを必要とするCPPファイル(#includeプリプロセッサディレクティブを使用したものコンパイル単位)に含まれるものです。

6

ヘッダーファイルはコンパイルしないでください。ソースファイルのみをコンパイルしてください。ヘッダーファイルを参照する必要があるソースファイルでは、先頭に#include "file1.h"と入力します。

関連する問題