配置文件的用途是什么?

配置文件的用途是什么?

我正在尝试按照以下步骤在我的系统中安装 opencv链接。安装后,我们需要通过打开

/etc/ld.so.conf.d/opencv.conf

并输入特定地址。然后在另一个

/etc/bash.bashrc

我们正在写

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

如果有人能解释它如何帮助这个过程,那就太好了。

答案1

您正在告诉系统的各个部分如何找到 opencv 支持库。

代码的作用

您引用的说明说将以下行添加到 /etc/ld.so.conf.d/opencv.conf:

/usr/local/lib

请注意,这/usr/local也在 bash 配置中。当您从源代码构建应用程序时,默认安装位置位于 /usr/local 子树中。您提到的两个配置部分是为了确保操作系统的其余部分知道除了其他常用位置之外还要在 /usr/local/... 中查找各种库等。如果您要安装到另一个位置,比如 /usr 或 /opt,您需要相应地更改所有这些路径。

何必呢?

/etc/ld.so.conf(和 /etc/ld.so.conf.d)用于告知ld.so(8)在哪里可以找到共享库。由于 opencv 安装在 /usr/local/... 中,我们需要让 ld.so 查看 /usr/local/lib 以查找应用程序的支持库。对于 pkgconfig 类似,我们需要确保 pkg-config 应用程序可以找到其支持文件。

你需要这么做吗?

现在,你可能不需要按照文档建议的进行更改。如果你查看 /etc/ld.so.conf.d 中的其他文件,你可能会发现另一个文件已经包含了 /usr/local/lib:

grep /usr/local/lib /etc/ld.so.conf.d/*

在我的系统上,这将返回

/etc/ld.so.conf.d/libc.conf:/usr/local/lib

因为这个已经在这里了,所以我不需要第二个条目,尽管输入两次也是安全的。您可能也不需要 PKG_CONFIG 设置,因为pkg-配置(1)手册页指出:

在大多数系统上,pkg-config 在 /usr/lib/pkgconfig、/usr/share/pkgconfig、/usr/local/lib/pkgconfig 和 /usr/local/share/pkgconfig 中查找这些文件。

相关内容