当用flex生成C++词法分析时,FlexLexer.h是在/usr/include目录里,随flex的版本而变化,但不随具体词法分析而变,故#include < FlexLexer.h > ,而非#include " FlexLexer.h "。用VS编译时,可将该文件复制到自己项目目录中,并在项目附加包含目录中设置下该目录位置,即可。 bison:系统的和自己下载源码编译的是不同的,系统的在/bin,而自己编译的在/usr/local/bin,linux下自己的在PATH里的优先级高,故能用最新的。 而cygwin下则需注意在shell文件中: export $PATH=/usr/local/bin:/bin:$PATH
bash flex ***
bash bison *** 项目中添加该shell文件,并自定义生成步骤 set PATH=d:/cygwin/bin/;%PATH%
bash setup.sh 自定义输出可以随便设置。l、y文件也可不添加进项目中,但为了修改方便、源码控制等,最好加入。