我遇到了共享库和 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。
我希望这是这个问题的适当论坛,我阅读了常见问题解答,我认为没关系。
干杯。