2011-07-07 5 views
1

Visual C++ Studioのバージョン4.0を使用していくつかのコードをコンパイルしようとしています。コンパイラはエラーで停止したところ、私はここに、このコードのための標準テンプレートライブラリを使用する必要があることを理解Visual Studio 4.0での標準テンプレートライブラリの使用

は次のとおりです。

#include <fstream> 

致命的なエラーC1083:「fstreamの」::いいえ、ファイルを開い含めることはできませんそのようなファイルまたはディレクトリ

コンパイラインストールディスクを見ると、STLファイルはコンパイラにインストールされませんが、インストールディスク上のサブディレクトリが見つかりました。私はSTLを一度も使用しておらず、どこにファイルを置くべきかわからない。今は私のソースファイルのサブディレクトリに配置し、そのディレクトリをBuild-> Settings-> Resources-> Additional Resource Include Directoriesに追加しました。また、STLディレクトリにfstreamまたはfstream.hという名前のファイルがないことにも注意してください。 read.meで

は、このノートである:

(1)STLは、それが完全な標準ライブラリコンテナ、反復子、C++標準 ライブラリのアルゴリズムの一部ではありません。

私はちょっと混乱しています。追加のソースファイルをどこかで取得する必要がありますか、どうすればいいですか?助けてくれてありがとう!

+0

ようこそスタックオーバーフロー!誰もまだこのコンパイラが横たわっているのに驚いています。あなたはVS4.0を使用する必要があるプロジェクトに取り組んでいますか?あなたがアップグレードすることができれば、私は強くそれを提案します。 – templatetypedef

+0

はい、私は本当にアップグレードするべきですが、私はこのバージョンのシンプルさと低オーバーヘッドが好きです。歓迎してくれてありがとう。 – germ666

+2

人為的に可能であれば、少なくともV4.2bにアップグレードしてください。 4.0以降、旧バージョンのSTLでも作業をまねするためには*たくさんの回避策が必要です。 4.2bには、コンパイラに合理的に適合したバージョンが含まれていました(私の思い出しには、他にもいくつかの修正がありました)。残念ながら、4.2bは見つけるのが難しいかもしれません。サブスクリプションを購入した人にのみ出荷されています。 –

答えて

0

Visual C++ 4.0はOLD!。 STLを正しくサポートしていません。少なくともVC++ 6.0(少なくともほとんどの機能をサポートしています)を使用するか、VC++ 2005または2008 Express Editionを使用することをお勧めします。または、GNU G ++コンパイラ(〜MinGW)を使用すると、STLを非常にうまく実装できます。

VC++ 4.0が作成された時点で、C++は標準化されておらず(STLはC++標準ライブラリのサブセットです)、ほとんどのSTL機能をサポートしていないか、非標準バージョンを実装しています。

+0

STL!=標準ライブラリ。 STL ==標準テンプレートライブラリ、標準ライブラリのサブセットです。 – Xeo

+0

私は知っている**。しかし、標準ライブラリは標準化されておらず、STLは標準ライブラリのサブセットであるため、STLも標準化されていませんでした。 – ApprenticeHacker

関連する問題