/etc/ld.so.conf 不包含 /usr/lib

use*_*108 3 libraries path pkg-config

pkg-config用来帮助在 C++ 编译期间提供正确的库。据我了解,它会在/etc/ld.so.conf. 我ld.so.conf通过指向的包含指令引用了以下库位置/etc/ld.so.conf.d/*.conf

/usr/local/lib
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu
Run Code Online (Sandbox Code Playgroud)

问题是我需要的库在/usr/lib默认情况下。

我可以将这条路径添加到/etc/ld.so.conf自己或移动库或推荐的做法是什么?

pet*_*rph 6

澄清/etc/ld.so.conf一下:此文件由动态(运行时)链接器/加载器(ld-linux.so在 Linux 上)使用,它解析加载以运行的二进制文件中的符号(这也包括共享库)。这与链接器形成对比,链接器ld用于将多个对象/存档文件组装在一起并解决它们的依赖关系。

动态链接器会检查/etc/ld.so.conf一个列表目录,在加载二进制文件时它应该在其中查找共享库。除了提到那里的路径,链接器还可以搜索其默认路径(/lib/usr/libLinux上,通常改为lib6464位装载机),除非二元用标志链接,明确禁用此(-x nodefaultlibbinutils中ld),在这种情况下,只有荣誉ld.so.conf