我可以像下面这样使用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的真正的库名是什么?
72qzrwbm1#
对于RHEL或Centos,您需要安装flex-devel以获取libfl.a和libl.a,并安装bison-devel以获取liby.a。
nszi6y052#
这取决于您如何安装(f)lex;该库可能是一个存档而不是一个共享对象(即libl.a)。Flex通常还提供libfl.a和libfl.so如果您使用的是debian或ubuntu系统,则(f)lex库位于libfl-dev包中,该包(在x86_64平台上)包括以下库:
libl.a
libfl.a
libfl.so
libfl-dev
/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
以及其他一些文件。
2条答案
按热度按时间72qzrwbm1#
对于RHEL或Centos,您需要安装flex-devel以获取libfl.a和libl.a,并安装bison-devel以获取liby.a。
nszi6y052#
这取决于您如何安装(f)lex;该库可能是一个存档而不是一个共享对象(即
libl.a
)。Flex通常还提供libfl.a
和libfl.so
如果您使用的是debian或ubuntu系统,则(f)lex库位于
libfl-dev
包中,该包(在x86_64平台上)包括以下库:以及其他一些文件。