-llibrary 如何确定和定位对象文件名
Posted
技术标签:
【中文标题】-llibrary 如何确定和定位对象文件名【英文标题】:-llibrary how to determine and locate object-file-name 【发布时间】:2014-07-01 07:41:53 【问题描述】:我正在阅读Makefile
,我看到-lz -ldl -ldw
链接器选项被传递给gcc
。
我的 Linux 系统上没有安装这个库,所以编译失败。
我的问题是我一般如何确定要从此类链接器选项安装的库。上面的链接器选项只是示例,但我想知道在这种情况下一般如何确定库。
【问题讨论】:
不确定我是否理解这个问题。是关于如何确定-lz
映射到libz.so
吗?好吧,从字面上看,在开头添加lib
,在结尾添加.so
或.a
(如果没有手动限制,liker 会尝试两者)。
【参考方案1】:
我认为正如@keltar 所说,您最好的猜测是从要链接的库中删除 -l ,改为添加 lib
并在系统上搜索它作为包名称。
举个例子,如果你有-lz
,你可以这样做
apt-cache search libz
或
yum search libz
看看是否有明显的安装候选。如果这没有帮助,您可以查找由前面提到的相同原理构造的文件名。
对于-ldl
,你会想出libdl.so
,然后你可以这样做:
apt-file search libdl.so
它给出了一些命中。
这有帮助吗?
【讨论】:
以上是关于-llibrary 如何确定和定位对象文件名的主要内容,如果未能解决你的问题,请参考以下文章