代码之家  ›  专栏  ›  技术社区  ›  foobarfuzzbizz

如何在Windows上使用flex?

  •  2
  • foobarfuzzbizz  · 技术社区  · 16 年前

    我正在尝试在Windows上编译一个项目,它使用flex/bison。

    在我安装了mingw之后,编译flex和bison文件就可以了,但是当我进入构建的最后一步时:

    g++ -o hexciting CommandParser.tab.o CommandParser.yy.o Command.o -lfl
    

    上面说找不到图书馆。

    在google上一段时间后,我尝试将标志改为-llibfl.a,但是这个库也找不到。

    我怎样才能得到这个图书馆的副本,或者自己建一个?

    3 回复  |  直到 11 年前
        1
  •  3
  •   eduffy    16 年前
        2
  •  2
  •   Simeon Pilgrim    16 年前

    我通过cygwin使用flex,然后在Visual Studio中编译,为了避免链接库“l”,您只需定义

    int yywrap()
    

    当当前文件完成时调用此函数,如果YYWRAP返回0,则会加载新文件,如果不存在其他文件,则调用1。

    对于您的另一个问题,我硬编码yywrap返回1,因为它从标准的verse文件中获取输入。

        3
  •  0
  •   Hello W    11 年前

    使用 Win flex-bison . 它在Visual Studio中非常容易使用。