打开失败:没有这样的文件或目录
问题描述:
我已经构建了一个独立的可执行文件引用我的.so对象。 都在同一个目录中。当我尝试运行可执行文件时,它给了我以下错误:打开失败:没有这样的文件或目录
ld.so.1: myExec: fatal: libMine.so: open failed: No such file or directory
我做错了什么?
答
Unix系统并不在当前目录中查找.so文件自动。
您可以通过设置LD_LIBRARY_PATH
来解决此问题,但在正常安装期间,它们应该安装在系统的适当位置。
答
是的,正如Alok所说,lib加载路径没有包含.so的目录。甚至没有假定当前的工作目录;它必须在LD_LIBRARY_PATH
中明确列出。
答
尝试运行应用程序之前执行以下行:
export LD_LIBRARY_PATH=.
+1
这可以破坏任何预先存在的值 - 您可能更适合使用:export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:。(它扩展了路径,并且将当前目录放在可能更安全一点的末尾)。 – 2009-12-22 20:43:13
'出口LD_LIBRARY_PATH = $ PWD:$ LD_LIBRARY_PATH' – 2009-12-22 05:31:16
http://*.com/questions/1785617/shared-library-path-as-executable-directory – 2009-12-22 05:50:37
我同意的复制,罗杰,对于1785617的答案提供了这个答案,但它肯定不是显而易见的,它们是简单的重复。 – 2009-12-22 20:42:01