[英]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.