flexで生成したソースコードをVC++(VisualStudio2008)でビルドする方法
flexで生成したコード(lex.yy.cc)をVC++で普通にビルドしようとすると、"unistd.h"が無い ということで怒られる。
コードを見ると、コンパイルオプションでその"unistd.h"のincludeを無効化できるっぽい。
#ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way * down here because we want the user's section 1 to have been scanned first. * The user has a chance to override it with an option. */ #include <unistd.h> #endif
プロジェクトのプロパティを開いて、「プリプロセッサの定義」にYY_NO_UNISTD_H
を追加してあげると無事コンパイルが通った。