gpt4 book ai didi

linux - ldconfig 只链接以 lib* 开头的文件?

转载 作者:太空狗 更新时间:2023-10-29 11:10:16 30 4
gpt4 key购买 nike

我正在努力让 MVTec Halcon 11 在 Ubuntu 上运行。一切都在正确的地方,但程序没有看到图像采集所需的动态库(相机本身工作正常,驱动程序已安装)

我将带有库的路径添加到 /etc/ld.so.conf 并运行 ldconfig -v 但是目录中存在的 28 个文件(全部“共享库”类型和 .so 扩展名),仅链接“lib*.so”。事实上,ldconfig 输出中的所有库都称为 lib*something。

奇怪的是,如果我在文件名前加上“lib”,它们就会链接起来(当然这对软件来说是不行的)

这是为什么?

最佳答案

来自 ld.so 和 ld-linux.so 的人

部分文件:

lib*.so* shared libraries

来自 glibc (./elf/ldconfig.c) :

 712       /* Does this file look like a shared library or is it a hwcap
713 subdirectory? The dynamic linker is also considered as
714 shared library. */
715 if (((strncmp (direntry->d_name, "lib", 3) != 0
716 && strncmp (direntry->d_name, "ld-", 3) != 0)
717 || strstr (direntry->d_name, ".so") == NULL)
718 && (
719 #ifdef _DIRENT_HAVE_D_TYPE
720 direntry->d_type == DT_REG ||
721 #endif
722 !is_hwcap_platform (direntry->d_name)))
723 continue;

看起来您必须选择一个以 lib 开头的名称...libc 使用它来确定文件是否可能是共享库。

关于linux - ldconfig 只链接以 lib* 开头的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11842729/

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