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を追加してあげると無事コンパイルが通った。