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.h
しiostream
ます。しかし、今私は得ています:
c:\gnuwin32\include\flexlexer.h(72): エラー C2061: 構文エラー: 識別子 'ostream'
問題は、名前空間 std で定義されていることです。この種の問題なしに flex を C++ にコンパイルできると想像しました。
私は何か間違ったことをしていますか?間違ったバージョンを使用していますか?
ありがとう!