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

时间:2017-08-03 22:54:35

标签: python-2.7 shared-libraries robotframework .so

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:无法打开共享对象文件:没有这样的文件或目录

1 个答案:

答案 0 :(得分:0)

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

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