我正在运行make
,它将以下标志传递给ld
:
LDLIBS=-ll -ldl -lreadline -lcurses
但是,当运行make
时,链接器将失败,并显示:
/usr/bin/ld: cannot find -ll
collect2: error: ld returned 1 exit status
我真的不确定共享对象库-ll
指的是什么,也不知道如何去弄清楚它。
我在一台CentOS机器上尝试了这个方法,所以我尝试安装了'Development Tools'
包,我想它一定是非常通用的:
sudo yum groupinstall 'Development Tools'
但无济于事。
图书馆在哪里?如有任何帮助,将不胜感激!谢谢!
3条答案
按热度按时间a6b3iqyw1#
尝试重新安装野牛和Flex。
sudo apt-get remove bison flex sudo apt-get install bison flex
对我很有效。
z0qdvdin2#
您可以使用以下命令找到哪个包提供了哪个文件:
检查this answer以了解如何执行此操作
mv1qrgav3#
如果你发现这个问题并且正在使用ubuntu,请给予
sudo apt-get install libfl-dev
一次机会我在ubuntu(github actions)上得到了这个,但是没有在本地得到。
从阅读几个答案中我发现
libl.a
缺少了什么,所以我在本地系统上追踪到了这个包。所以我用
sudo apt-get install libfl-dev
修正了github的动作。在本地,它说这是我拥有的
flex
的依赖项。我不确定这是否只是因为我在本地的LTS版本上,并使用latest
作为CI。