繁体   English   中英

CDLL 找不到共享 object

[英]CDLL can not find find shared object

我在 /usr/lib 中共享了 object 文件libalgo.so ls -al /usr/lib给出

-rwxr-xr-x  1 root root  14264 Jul  6 06:57 libalgo.so
-rwxr-xr-x  1 root root 403496 Oct  8 12:07 libnlopt.so.0

我必须在 python 中导入这个共享库

from ctypes import *
    try:
        lib = '/usr/lib/libalgo.so'
        algo_lib = CDLL(lib)
        print('algo_lib loaded')
    except Exception as e:
        print(e)

运行此代码时,我收到一条错误消息,提示无法读取共享的 object。没有这样的文件...

我还在 LD_LIBRARY_PATH 中添加了 /usr/lib。 此错误仅发生在我正在进入的远程计算机中,而不是在我的本地计算机中。

TL;DR libalgo.so 是为 arm 编译的。

我们正在 x86 机器上开发 arm 系统。 其中一个 deb 包以错误的共享 object 结束。另外,python 给出的错误消息充其量只是一种误导。 该消息没有显示无效的 object 文件,而是让我相信 python 找不到该文件。 我不确定为什么会给出这样的错误消息,如果能提供更多相关信息,我们将不胜感激。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM