本文共 593 字,大约阅读时间需要 1 分钟。
开发者在重装Linux系统后,运行可执行文件时遇到“error while loading shared libraries”,提示找不到某个库的路径。这样的问题在开发中较为常见,因此开发者已经养成了应对方法。
首先,开发者回忆起常用解决方案:将程序依赖的库路径添加至/etc/ld.so.conf
文件中,随后执行ldconfig
命令。该命令用于更新动态库缓存信息,将添加的路径及下属动态库保存至/etc/ld.so.cache
文件,便于程序在运行时搜索到所需的动态库。
打开/etc/ld.so.conf
后发现仅包含“include /etc/ld.so.conf.d/*.conf”一行内容。因此,开发者在该文件的下方逐行添加了程序所依赖的各个库的路径。完成后,执行/sbin/ldconfig
命令,将配置缓存至/etc/ld.so.cache
文件。
此时,开发者通过检查/etc/ld.so.cache
内容,发现系统已经能找到包括ffmpeg库在内的各个依赖库,如libavcodec.so
。这一验证表明,添加路径并执行ldconfig
后,问题已得到解决。
在完成上述步骤后,开发者意识到一个更好的解决方案:在遇到类似问题时,可以直接编辑/etc/ld.so.conf
并添加需要的库路径,然后执行ldconfig
。通过这种方式,可以有效地解决动态库路径问题,确保程序能够顺利运行。
转载地址:http://smgoz.baihongyu.com/