open failed:没有这样的文件或目录

时间:2009-12-22 05:27:09

标签: c++ linux shell linker solaris

我已经构建了一个引用我的.so对象的独立可执行文件。 两者都在同一目录中。当我尝试运行可执行文件时,它给出了以下错误:

  

ld.so.1:myExec:致命:libMine.so:   打开失败:没有这样的文件或目录

我做错了什么?

3 个答案:

答案 0 :(得分:3)

Unix系统不会自动查找当前目录中的.so文件。

您可以通过设置LD_LIBRARY_PATH来解决此问题,但在正常安装期间,应将它们安装在系统上的适当位置。

另见why you shouldn't make your users use LD_LIBRARY_PATH

答案 1 :(得分:0)

是的,正如Alok所说,lib加载路径没有包含.so的目录。甚至不假设当前的工作目录;它必须在LD_LIBRARY_PATH中明确列出。

答案 2 :(得分:0)

在运行应用程序之前尝试执行以下行:

export LD_LIBRARY_PATH=.