启动我的程序时会出现以下错误:
加载共享库时出错: libnetcdf.so.6:无法打开共享对象文件:没有这样的文件或目录
重点是libnetcdf.so.6是旧版本的库,我已经删除了它并构建了新的库。
所以,当我尝试ldd时,我看到:
libnetcdf.so.7 => /usr/local/lib/libnetcdf.so.7 (0x00007f70f8c4b000)但同时也
libnetcdf.so.6 => not found为什么这么老的推荐信?我能做些什么来解决?
发布于 2013-09-23 14:14:19
您需要将您的应用程序重新链接到libnetcdf.so.7,因此应用程序将查找它,而不是.6。
您可能有一个符号链接,链接器将在没有版本号(libnetcdf.so)的情况下查看该链接,如果没有此链接,则可能需要在重新链接之前创建该链接:
ln -s libnetcdf.so.7 libnetcfd.so如果不能重新链接应用程序,则可以创建一个符号链接,让应用程序查看新的库(尽管如果库版本不兼容二进制文件,则会导致分段错误)指向实际的.so文件:
ln -s libnetcfd.so.7 libnetcfd.so.6这将导致应用程序找到它所需的共享对象,但并不是理想的解决方案。
https://stackoverflow.com/questions/18961328
复制相似问题