仅LDCONFIG链接的文件开始以lib *?(ldconfig only links files

2019-06-26 19:46发布

我努力使在Ubuntu MVTec公司的Halcon 11的工作。 一切都在正确的地方,但该计划并没有看到(仅相机做工精细,安装驱动程序)所需要的图像采集的动态库

我添加的路径与库/etc/ld.so.conf并运行ldconfig -v ,但存在于目录(所有的“共享库”型和.so扩展名)28个文件,只有“LIB *的.so “那些被链接。 作为事实上,ldconfig的输出的所有库被称为LIB *的东西。

奇怪的是,如果我在文件名称前加上“LIB”,他们获取链接(当然这不会是好的与软件)

这是为什么?

Answer 1:

从ld.so和ld-linux.so的人

分区文件:

LIB *。所以*共享库

而从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 begining ... libc中使用它来确定该文件可能是一个共享库。



文章来源: ldconfig only links files starting with lib*?