cannot find -ll collect2: error: ld returned 1 exit status
cannot find -ll collect2: error: ld returned 1 exit status
当我尝试在 cygwin 中使用 gcc lex.yy.c -ll
编译从 lex helloworld.l
生成的 lex.yy.c
文件时,我遇到了类似的错误。
helloworld.l包含
%%
[0-9]+ { printf("saw an integer:%s\n", yytext);}
[a-z]+ { printf("saw a lowercase character:%s\n", yytext);}
[A-Z]+ { printf("saw an uppercase character:%s\n", yytext);}
.|\n ;
%%
gcc lex.yy.c -ll
的输出是
/usr/lib/gcc/i686-pc-cygwin/10/../../../../i686-pc-cygwin/bin/ld: cannot find -ll
collect2: error: ld returned 1 exit status
请帮助我解决此错误并使其正常工作。谢谢!
如@rici所述
$ gcc lex.yy.c -lfl
$ ./a < helloworld.l
saw an integer:0
saw an integer:9
saw a lowercase character:printf
saw a lowercase character:saw
...
为什么?程序 lex
属于 flex
包并且
导入库是 libfl.a
$ cygcheck -f /usr/bin/lex
flex-2.6.4-2
$ cygcheck -l flex | grep a$
/usr/lib/libfl.a
当我尝试在 cygwin 中使用 gcc lex.yy.c -ll
编译从 lex helloworld.l
生成的 lex.yy.c
文件时,我遇到了类似的错误。
helloworld.l包含
%%
[0-9]+ { printf("saw an integer:%s\n", yytext);}
[a-z]+ { printf("saw a lowercase character:%s\n", yytext);}
[A-Z]+ { printf("saw an uppercase character:%s\n", yytext);}
.|\n ;
%%
gcc lex.yy.c -ll
的输出是
/usr/lib/gcc/i686-pc-cygwin/10/../../../../i686-pc-cygwin/bin/ld: cannot find -ll
collect2: error: ld returned 1 exit status
请帮助我解决此错误并使其正常工作。谢谢!
如@rici所述
$ gcc lex.yy.c -lfl
$ ./a < helloworld.l
saw an integer:0
saw an integer:9
saw a lowercase character:printf
saw a lowercase character:saw
...
为什么?程序 lex
属于 flex
包并且
导入库是 libfl.a
$ cygcheck -f /usr/bin/lex
flex-2.6.4-2
$ cygcheck -l flex | grep a$
/usr/lib/libfl.a