从 Python 库中运行机器人框架脚本,该脚本加载 cdll 抛出错误


from ctypes import cdll
from time import sleep
class SDKLibrary(object):
def __init__(self): 
self.lib = cdll.LoadLibrary("sharedlibrary.so")
self.sdk = self.lib.SDK_new()
def Function(self):
self.lib.Function1(self.sdk, 1, 2)

x = SDKLibrary()
x.Function() //This call from Python working fine 

但是当我尝试从机器人调用函数时,它抛出一个没有参数的错误失败了: OSError: sharedlibrary.so: 无法打开共享对象文件: 没有这样的文件或目录

不确定您的文件结构是什么样子的,但是当我将机器人测试脚本放在与python库不同的文件夹中时,我遇到了同样的问题。我通过预先挂起 C 库的绝对文件路径来解决它。

def __init__(self): 
self.lib = cdll.LoadLibrary(absolute/file/path/ + "sharedlibrary.so")
self.sdk = self.lib.SDK_new()