运行以下命令后:
g++ lex.yy.c -lfl
我收到以下错误:
/usr/bin/ld: cannot find -lfl
我该如何解决?
lex.yy.c
是的默认输出文件名lex
,是C(和C ++)的词法分析器预处理器。该连接器(ld
)正在寻找一个名为libfl.so
(如果动态链接;这将是libfl.a
,如果静态链接)。这是Lex实现Flex生成的词法分析器所需的运行时库。
如果使用生成了lex.yy.c
自己flex
,请检查Flex是否已正确安装。除了flex
在路径中包含可执行文件之外,您还需要在库搜索路径中(通常为或,具体取决于Flex是否来自系统软件包)在路径中具有libfl.so
和libfl.a
(libfl_pic.a
如果存在)。如果您在非标准位置使用Flex,请使用以下命令指定库搜索路径:/usr/lib
/usr/local/lib
-L
~/software/flex/bin/flex mylexer.l
g++ lex.yy.c -L ~/software/flex/lib -lfl
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句