我正在尝试在 Windows 上编译一个项目,它使用 flex/bison。
安装 MinGW 后,编译 flex 和 bison 文件运行良好,但是当我进入构建的最后一步时:
g++ -o hexciting CommandParser.tab.o CommandParser.yy.o Command.o -lfl
它说找不到库。
在 google 上一段时间后,我尝试将标志更改为 -llibfl.a,但也无法找到该库。
我怎样才能获得该库的副本或自己构建一个?
我正在尝试在 Windows 上编译一个项目,它使用 flex/bison。
安装 MinGW 后,编译 flex 和 bison 文件运行良好,但是当我进入构建的最后一步时:
g++ -o hexciting CommandParser.tab.o CommandParser.yy.o Command.o -lfl
它说找不到库。
在 google 上一段时间后,我尝试将标志更改为 -llibfl.a,但也无法找到该库。
我怎样才能获得该库的副本或自己构建一个?
我通过 cygwin 使用 flex,然后在 Visual Studio 中编译,为了避免链接库“l”,你只需要定义
int yywrap()
当前文件完成时调用此函数,如果 yywrap 返回 0 一个新文件已加载,1 表示没有更多文件存在。
对于您的另一个问题,我对 yywrap 进行硬编码以返回 1,因为它从标准输入 verse 文件中获取输入。
使用Win flex-bison。它在 Visual Studio 中非常易于使用。