web-dev-qa-db-ja.com

C ++ソースコードをコンパイルする方法(「iostream.hが見つかりません」エラー)

私はC++やプログラミング言語について議論したくありません!私はちょうどhelloworld.cppのコンパイルについてlinux ubuntuで何が間違っているのか知りたいです!

私はC++を学んでいるので、私の手順は次のとおりです。

vimでhello.cppを開き、これを記述します

#include <iostream.h>
int main()
{
    cout << "Hello World!\n";`
    return 0;
}

だから、その後、私はこれを端末で試しました

g++ hello.cpp

そして、出力は

hello.cpp:1:22: fatal error: iostream.h: No such file or directory
compilation terminated.

何を指示してるんですか?私にとって役立つステップバイステップガイドはありますか?

19
gabriel

#include <iostream>ではなく、iostream.hを使用する必要があります。 。hの形式は非常に古く、非推奨となっています。

。hvs non-。hここにフォーム: http://members.gamedev.net/sicrane/articles/iostream.html

(さらに、std::coutと書くか、using namespace std;行を用意する必要があります。そうしないと、コンパイラーがcoutの定義を見つけられないというエラーが発生します。

42
Riccardo Murri

iostream.hiostreamに変更する必要があります。私もあなたと同じエラーを受け取っていましたが、iostream.hiostreamに変更したとき、それは適切に機能しました。たぶんあなたのためにも働くでしょう。

つまり、次の行を変更します。

#include <iostream.h>

代わりにこう言ってください:

#include <iostream>

標準で定義されているC++標準ライブラリヘッダーファイルには、.h拡張がありません。

Riccardo Murri's answer で述べたように、完全修飾名std::coutcoutを呼び出すか、これらの2行のいずれかを使用する必要があります(できれば#includeディレクティブの下で他のコードの上) :

using namespace std;
using std::cout;

2番目の方法は、std名前空間のすべての名前を取り込むのではなく、std::coutにのみ影響するため、特に深刻なプログラミングプロジェクトでは好ましいと見なされます(一部はプログラムで使用される名前に干渉する可能性があります)。

14
Dhruv kaushik