1

我正在尝试使用 flex 并已安装在 c:\gnuwin32\bin 中,已将此类添加到 PATH 以及 c:\dev-cpp\bin 中。

对 gcc 的调用没有问题,但对 flex 的调用没有问题,除非我在 c:\gnuwin32\bin 目录中,这意味着要求 gcc 使用 lex.yy.c 编译失败,因为它找不到一些外部 lex 函数像 yywrap()。

这是我的路径目前是最后两个项目或有问题的项目。最后一个路径项是否需要以分号结尾?我不知道为什么它不能正常工作..

回声路径

4

1 回答 1

1

您的问题与 PATH 连接无关。

Gcc 在链接时找不到 flex 运行时库,您必须添加 -L 选项以指定其位置并添加 libfl.a

就像是

gcc -o target *.o -L <path> -lfl 

您还可以使用以下 flex 选项禁用 yywrap 功能

 %option noyywrap

请参阅Flex 手册中的常见问题解答条目

于 2012-07-05T12:23:43.733 回答