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

Runing Robot Framework Script From Python Library which Load cdll throwing error

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()