我编写了简单的flex程序,并使用以下代码在linux中运行它
flex filename.l
cc lex.yy.c -lfl
./a.out
但是现在我想在Windows中运行它,我在下面的链接中执行命令,现在我尝试使用以下命令编译flex文件,但是它说cc无法识别,然后我尝试使用以下命令进行编译
gcc lex.yy.c -lfl
它说cannot find -lfl
,然后我尝试
gcc lex.yy.c
但是例如我有很多错误undefined reference to yywrap
。我应该怎么做才能识别Flex库?
问题是它找不到该库。在Linux上,它将位于系统路径上的/ usr / bin或usr / local / bin下。在Windows上,没有这样的标准库位置。
使用-lfl选项时,它将在系统路径上搜索名为libfl.o(共享库)或libfl.a(静态库)的文件,并将您的二进制文件与此文件链接。
因此,您需要使用gcc的-L选项提供库的位置。
因此,您的新编译命令将会是。
gcc lex.yy.c -L<path to library> -lfl
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句