打开失败:没有这样的文件或目录

发布于 2024-08-15 10:51:10 字数 167 浏览 7 评论 0原文

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

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

我做错了什么?

I have built a standalone executable which references my .so object.
both are in the same directory. when I try to run executable it gives me the following error:

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

what am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苯莒 2024-08-22 10:51:10

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

您可以通过设置 LD_LIBRARY_PATH 来解决这个问题,但在正常安装过程中,它们应该安装在系统上的适当位置。

另请参阅为什么不应让用户使用LD_LIBRARY_PATH

Unix systems don't look in the current directory for .so files automatically.

You can get around this for development by setting LD_LIBRARY_PATH, but during the normal installation they should be installed in the appropriate place on the system.

See also why you shouldn't make your users use LD_LIBRARY_PATH

℉絮湮 2024-08-22 10:51:10

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

Yes, as Alok says, the lib load path doesn't have the directory in which the .so is contained. Not even the current working directory is assumed; it must be explicitly listed in LD_LIBRARY_PATH.

三生池水覆流年 2024-08-22 10:51:10

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

export LD_LIBRARY_PATH=.

Try executing the following line before running your application:

export LD_LIBRARY_PATH=.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文