在搭建postgreSQL 9.0 windows调试环境时,发现src\backend\parser下的scan.l无法正确编译。对比8.4.2及其它模块词法文件,发现多了如下几个选项
%option reentrant
%option bison-bridge
%option bison-locations
%option noyyalloc
%option noyyrealloc
%option noyyfree
而正是这几个选项,导致词法编译不过去。令人奇怪的是,不管是在windows还是在linux,单独用flex编译scan.l时都会报错,但是在linux上整体编译时却能通过。在网上搜索,多只言片语,未能详解。
希望csdn中各位高手予以解惑。