2012-02-26 16 views
2

私はこのトピックが数回あることを知っていますが、私は満足のいく答えを得ることができません。includeパスを設定し、gccコンパイラで標準ライブラリを使用する方法は?

C:\Users\Krzysiek>gcc test.c 
test.c:3:20: fatal error: iostream: No such file or directory 
compilation terminated. 

これは私がLIBRARY_PATHを聞いた

"が含まれる" と

#include <iostream> 
using namespace std; 

int main() 
{ 
    cout << "Hello World!"; 
    return 0; 
} 

簡単なプログラムをしようとするものです。だから私はそれを決めた。それでも私と同じエラーです。

+0

どのように満足のいく回答を得られませんでしたか?答えは簡単で、何度も何度も与えられています。 –

+0

私はこれが愚かな質問であり、解決策はとてもシンプルであることを知っています。私はただばかだと思う。 :)この言葉には申し訳ありません "私は満足できる答えを得ることができません。"私は答えが見つからないということです。 – kspacja

答えて

3

GCCはさまざまなコンパイラを呼び出すためのラッパーを提供しています。

  • あなたがCのためである、gccを使用している(その結果、C++標準ライブラリを含めるかはリンクしません、それはありませんので、コンパイラ、あまりにも、あなたのコードの残りの部分に文句を言うために行くだろう有効なC);

  • これはC++用のg++です。

また.cc.cxxまたは.cppであるC++のソースファイル、のための従来の拡張機能を使用するようにしてください。

+0

OPのファイルの拡張子は '.c'、つまりCではなくC++であることに注意してください。 –

+0

@larsmans:ああ、そうです! –

2

代わりにg++を使用してください:これは、C++標準ライブラリにリンクします。

1

gccコマンドを使用すると、gccは、ファイル拡張子を調べて、コンパイルに使用する言語を決定します。あなたはgccは別の言語を選択するにはC.

# Use the C compiler 
gcc test.c 

# Use the C++ compiler 
gcc test.cpp 

にデフォルトで切り替わります.cファイルを、使用されるように、あなたは-xオプションを使用することができます:Cを使用しての

# Use the C++ compiler even if the extension is .c 
gcc -xc++ test.c 

別の方法を++コンパイラがありますコマンドラインでg++を使用します。これは正しいライブラリとリンクするので、これが好ましい方法です。

# Use the C++ compiler 
g++ test.c