gcc与lex配合良好,但在硬盘上找不到libl.so

ikfrs5lh  于 2022-11-13  发布在  其他
关注(0)|答案(2)|浏览(136)

我可以像下面这样使用lex工作:
lex my.l && gcc lex. yy. c-ll(我的语言)
没有问题,它工作。从gcc链接选项,我猜有一个库名为libl.so,这表明lex运行库。

cd /
find ./ -name "libl.so"

但是我没有得到任何查找结果,那么真的有一个叫做www.example.com的库吗libl.so??gcc用来链接lex的真正的库名是什么?

72qzrwbm

72qzrwbm1#

对于RHEL或Centos,您需要安装flex-devel以获取libfl.a和libl.a,并安装bison-devel以获取liby.a。

nszi6y05

nszi6y052#

这取决于您如何安装(f)lex;该库可能是一个存档而不是一个共享对象(即libl.a)。Flex通常还提供libfl.alibfl.so
如果您使用的是debian或ubuntu系统,则(f)lex库位于libfl-dev包中,该包(在x86_64平台上)包括以下库:

/usr/lib/x86_64-linux-gnu/libfl.a
/usr/lib/x86_64-linux-gnu/libfl_pic.a
/usr/lib/x86_64-linux-gnu/libfl.so
/usr/lib/x86_64-linux-gnu/libl.a

以及其他一些文件。

相关问题