gpt4 book ai didi

linux - gcc: 找不到/usr/local/lib 中的链接库,但是/etc/ld/so.conf.d/libc.conf 列出了它?

转载 作者:IT王子 更新时间:2023-10-29 00:25:23 28 4
gpt4 key购买 nike

我遇到了共享库和 gcc 的问题。起初我无法运行我编译的程序,因为我收到以下错误:加载共享库时出现 gcc 错误。

查了一下,发现是共享库找不到​​。但是我已经确定共享库位于/usr/local/lib 中,AFAICT 是共享库的常用目录,应该从一开始就可以使用。

我读到您可以设置 LD_LIBRARY_PATH,这对我有用。但是,我不希望每次运行我的程序时都设置它。

进一步搜索建议编辑 ld.so.conf。当我查看它时,它具有以下内容:

include /etc/ld.so.conf.d/*.conf

查看 ld.so.conf.d 目录显示了一系列文件,包括 libc.conf。该文件中包含以下内容:

/usr/local/lib

所以我的问题是,当 ld.so.conf 似乎使用包含/usr/local/lib 的 libc.conf 时,为什么我需要手动设置 LD_LIBRARY_PATH?

我在这里缺少必须首先配置的东西吗?编译时是否有我遗漏的选项?

我应该注意,要编译,我必须指定库的路径,我不知道这是我的问题的症状还是正常行为。

我还应该注意,当我在其他系统上部署我的软件时,这对我来说是一个问题。我本以为我应该能够将 .so 放在适当的位置并安装我的程序而不会弄乱 ld.so.conf。

我希望这是解决这个问题的合适论坛,我阅读了常见问题解答,我认为没问题。

干杯。

最佳答案

每次更改通过 /etc/ld.so.conf/etc/ld 配置的目录后,您应该运行 ldconfig(以 root 用户身份) .so.conf.d/,特别是在 /usr/local/lib 每次更新之后(例如,在每次添加或更新那里的一些共享库之后)。

关于linux - gcc: 找不到/usr/local/lib 中的链接库,但是/etc/ld/so.conf.d/libc.conf 列出了它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12234010/

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