sql解析器写好了(^-^),主要是在linux下弄得,考虑到dbscale的跨平台需求,想在windows下也能编译这个解析器。
bison和flex本身有windows下的安装文件,百度或谷歌一下就能找到。但这里不能用,因为那个实在太老了bison 2.4.1和flex2.5.4a-1。 特别是这个版本的flex还不支持 “reentrant” 选项。我们需要的版本为flex2.5.35,bison2.4.2 。
解决办法主要2种,用所需版本的源码自己编译;或使用Cygwin。
这里选的是第2个办法,因为确实简单方便。
到Cygwin官网下载http://cygwin.com/install.html 。
然后安装, 在安装过程中有一步叫 "Select Packages", 在这里把flex和bison选上(可以使用search来查找)。
安装后把cygwin安装目录下的bin目录放到系统变量path中。
之后就可以直接使用flex和bison进行编译并生成exe可执行文件。
另外windows下通常会使用VS来管理和编译项目,如何配置VS来使用cygwin的flex和bison可以参考这篇文章:
http://www.thebinaryidiot.com/archives/2011/01/29/flex-2-5-35-and-win32-visual-studio-cpp/。
转载请注明出自高孝鑫的博客
bison和flex本身有windows下的安装文件,百度或谷歌一下就能找到。但这里不能用,因为那个实在太老了bison 2.4.1和flex2.5.4a-1。 特别是这个版本的flex还不支持 “reentrant” 选项。我们需要的版本为flex2.5.35,bison2.4.2 。
解决办法主要2种,用所需版本的源码自己编译;或使用Cygwin。
这里选的是第2个办法,因为确实简单方便。
到Cygwin官网下载http://cygwin.com/install.html 。
然后安装, 在安装过程中有一步叫 "Select Packages", 在这里把flex和bison选上(可以使用search来查找)。
安装后把cygwin安装目录下的bin目录放到系统变量path中。
之后就可以直接使用flex和bison进行编译并生成exe可执行文件。
另外windows下通常会使用VS来管理和编译项目,如何配置VS来使用cygwin的flex和bison可以参考这篇文章:
http://www.thebinaryidiot.com/archives/2011/01/29/flex-2-5-35-and-win32-visual-studio-cpp/。
转载请注明出自高孝鑫的博客