0

Flex を使用してスキャナーを生成しようとしています。バージョンは 2.5.4 です。http://gnuwin32.sourceforge.net/packages/flex.htm Web サイトから。

Flex マニュアルの例を使用しています。

私の環境はVS2010を実行しているWindows 7です。

そこでflex -c++ scanner.l、生成するコマンドを実行しますlex.yy.cc

簡単なコンソール アプリを作成します。flexlexer.hおよびを含む "C:\GnuWin32\include" ディレクトリを含めますunistd.h

また、ファイルlex.yy.ccを VS2010 に追加してコンパイルすると、エラーが発生します。

c:\gnuwin32\include\flexlexer.h(47): 致命的なエラー C1083: インクルード ファイルを開けません: 'iostream.h': そのようなファイルまたはディレクトリはありません

だから私はに変更iostream.hiostreamます。しかし、今私は得ています:

c:\gnuwin32\include\flexlexer.h(72): エラー C2061: 構文エラー: 識別子 'ostream'

問題は、名前空間 std で定義されていることです。この種の問題なしに flex を C++ にコンパイルできると想像しました。

私は何か間違ったことをしていますか?間違ったバージョンを使用していますか?

ありがとう!

4

1 に答える 1

1

Win flex-bison をダウンロードして使用していますが、すべて問題ありません。

http://sourceforge.net/projects/winflexbison/

于 2013-08-08T15:44:35.010 に答える