【发布时间】:2012-04-27 21:09:22
【问题描述】:
您好,我正在学习 Lex 和 yacc。我创建了以下 lex 程序。
%{
#include <stdio.h>
%}
%%
[0123456789]+ printf("NUMBER\n");
[a-zA-Z][a-zA-Z0-9]* printf("WORD\n");
%%
我正在尝试使用以下命令运行它:
- lex example1.l
- cc lex.yy.c -o example1 -ll
也试过 cc lex.yy.c -o example1 -lfl
当我输入上面的第二个命令形式时,我得到错误:
D:\workdir\flexyacc\Test3>gcc lex.yy.c -o Test -lfl
C:\Dev-Cpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lfl
collect2: ld returned 1 exit status
我尝试用谷歌搜索这个错误,但到目前为止没有运气。因为我是 Lex 编程的新手,所以我不明白如何解决这个问题。任何帮助将不胜感激。提前非常感谢。
【问题讨论】:
-
不确定,但认为您的参数列出错误您是否尝试过:gcc lex.yy.c -lfl -o Test
-
如果没有找到
-lfl,你确定需要它吗?在没有的情况下尝试构建,看看会发生什么。如果你得到main()undefined,那么你需要自己写一个。否则,如果你得到其他未定义的东西,那么你需要找到 Flex 库。 -
嗨,Kaz,不适合我。