我自己安装的库应该放在哪里?

我自己安装的库应该放在哪里?

在从源代码构建时ffmpeg,我收到以下错误./configure --with-libcelt

ERROR: libcelt not found

所以我去了http://www.celt-codec.org/downloads/,克隆了 repo,并./autogen.sh; ./configure; make; make install; make check对其进行了编辑。

返回ffmpeg源目录,./configure --with-libcelt再次出现同样的错误。

我尝试过软链接/opt/celt/libcelt/celt.h/usr/local/lib,但现在我正式陷入困境。


我认为这是软件包寻找库的/usr/local/lib规范位置,并且主命名eader 文件足以向配置器显示内容所在的位置。正确答案是什么?./configure.h

答案1

头文件,除其他信息外,还告诉编译器库中存在哪些函数、值等。仅仅因为您指向头文件,并不意味着链接器知道在哪里查找相应的库。 /usr/lib并且/usr/local/lib通常在安装第三方程序时使用。现在,/opt通常用于将程序解压到一个文件夹中。

据我所知,/opt/celt文件夹中有 celt。在那里查找一个类似于的文件libcelt.so。这就是您需要将链接器指向的地方。假设文件位于其中的某个位置,那么您可以通过更新库路径变量来指示链接器查看该文件夹,如下所示:

export LD_LIBRARY_PATH=/opt/celt:$LD_LIBRARY_PATH

然后再次运行 configure 和 make 脚本。您可能需要启动全新安装。

相关内容