2009-12-22 143 views
1

我已经构建了一个独立的可执行文件引用我的.so对象。 都在同一个目录中。当我尝试运行可执行文件时,它给了我以下错误:打开失败:没有这样的文件或目录

ld.so.1: myExec: fatal: libMine.so: open failed: No such file or directory

我做错了什么?

+2

'出口LD_LIBRARY_PATH = $ PWD:$ LD_LIBRARY_PATH' – 2009-12-22 05:31:16

+1

http://stackoverflow.com/questions/1785617/shared-library-path-as-executable-directory – 2009-12-22 05:50:37

+0

我同意的复制,罗杰,对于1785617的答案提供了这个答案,但它肯定不是显而易见的,它们是简单的重复。 – 2009-12-22 20:42:01

回答

0

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

0

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

export LD_LIBRARY_PATH=. 
+1

这可以破坏任何预先存在的值 - 您可能更适合使用:export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:。(它扩展了路径,并且将当前目录放在可能更安全一点的末尾)。 – 2009-12-22 20:43:13

相关问题