2017-08-03 55 views
0
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庫哪些Load cdll拋出錯誤

回答

0

不知道你的文件結構是什麼樣子,但是當我把我的機器人測試腳本放在與我的python庫不同的文件夾中時,我遇到了同樣的問題。我通過預先向C庫提供絕對文件路徑來解決此問題。

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