首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未找到ldd库

未找到ldd库
EN

Stack Overflow用户
提问于 2013-09-23 14:05:01
回答 1查看 7.7K关注 0票数 0

启动我的程序时会出现以下错误:

加载共享库时出错: libnetcdf.so.6:无法打开共享对象文件:没有这样的文件或目录

重点是libnetcdf.so.6是旧版本的库,我已经删除了它并构建了新的库。

所以,当我尝试ldd时,我看到:

代码语言:javascript
复制
libnetcdf.so.7 => /usr/local/lib/libnetcdf.so.7 (0x00007f70f8c4b000)

但同时也

代码语言:javascript
复制
libnetcdf.so.6 => not found

为什么这么老的推荐信?我能做些什么来解决?

EN

回答 1

Stack Overflow用户

发布于 2013-09-23 14:14:19

您需要将您的应用程序重新链接到libnetcdf.so.7,因此应用程序将查找它,而不是.6。

您可能有一个符号链接,链接器将在没有版本号(libnetcdf.so)的情况下查看该链接,如果没有此链接,则可能需要在重新链接之前创建该链接:

代码语言:javascript
复制
ln -s libnetcdf.so.7 libnetcfd.so

如果不能重新链接应用程序,则可以创建一个符号链接,让应用程序查看新的库(尽管如果库版本不兼容二进制文件,则会导致分段错误)指向实际的.so文件:

代码语言:javascript
复制
ln -s libnetcfd.so.7 libnetcfd.so.6

这将导致应用程序找到它所需的共享对象,但并不是理想的解决方案。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18961328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档