【发布时间】:2017-02-03 06:05:57
【问题描述】:
我正在运行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'
但无济于事。
图书馆在哪里/是什么?任何帮助将不胜感激!谢谢!
【问题讨论】:
-
我相信
libl(-ll试图加入)是 Solaris 的一部分。不确定是否有 Linux 等价物。 -
您是从某个库或项目中获取此 makefile 吗?
-ll会建议称为libl的东西,在线搜索建议将是lex。我不使用 CentOS/Redhat,但我会选择通用构建库,flex和/或bison。 -
看来
'Development Tools'带有flex和bison,所以这些依赖已经满足了。此外,在yum whatprovides libl中找不到匹配项。感谢您的意见! -
可以满足依赖关系,但必须在makefile搜索到的PATH中才能找到。我会检查以确保 libl 的路径在该路径中可用,修改路径以包含该文件,或显式路径。
-
你要构建什么包?