gpt4 book ai didi

即使 ldconfig 找到了,ld 也找不到库

转载 作者:行者123 更新时间:2023-12-04 02:07:42 26 4
gpt4 key购买 nike

这里报告了此问题的多种变体,据我了解响应,归结为以下原因:

  • 未安装软件或其开发包
  • ldconfig 不知道这些库
  • 缺少指示在何处搜索库的编译器选项
  • 库名称错误或缺少软链接(soft link) (libfoo.so -> libfoo.so.5)

现在我有:

/usr/bin/ld: cannot find -lboost_regex

但是 ldconfig 知道它:

$ ldconfig -p | grep boost_regex.so
libboost_regex.so.5 (libc6,x86-64) => /usr/lib64/libboost_regex.so.5
libboost_regex.so (libc6,x86-64) => /usr/lib64/libboost_regex.so

它也存在:

$ ls -l /usr/lib64/libboost_regex.so
lrwxrwxrwx 1 root root 19 Sep 24 08:19 /usr/lib64/libboost_regex.so -> libboost_regex.so.5
$ ll /usr/lib64/libboost_regex.so.5
-rwxr-xr-x 1 root root 1000224 Apr 2 09:48 /usr/lib64/libboost_regex.so.5

有什么想法或提示我遗漏了什么吗?

问候,安迪

最佳答案

-lboost_regex 选项告诉 ld 搜索 /usr/lib64/libboost_regex.so。这是 boost-regex 库的开发包提供的符号链接(symbolic link)。

在 Fedora 上:

$ rpm -q --file /usr/lib64/libboost_regex.so
boost-devel-1.50.0-7.fc18.x86_64

在 Ubuntu 上:

$ dpkg -S /usr/lib/libboost_regex.so
libboost-regex1.49-dev: /usr/lib/libboost_regex.so

关于即使 ldconfig 找到了,ld 也找不到库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19009826/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com