2017-08-03 4 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 

Aber wenn ich versuche, vom Roboter rufen Sie die Funktion seiner einen Fehler ohne Argumente werfen fehlgeschlagen: OSError: sharedlibrary.so: kann nicht mit anderen geteilt öffnen Objektdatei : Keine solche Datei oder VerzeichnisRuning Robot Framework Script Von Python-Bibliothek, die Last CDLL Fehler werfen

Antwort

0

Nicht sicher, wie Ihre Dateistruktur aussieht, aber ich hatte das gleiche Problem, wenn ich meine Roboter Testskripte in einem anderen Ordner als meine Python-Bibliotheken. Ich habe es gelöst, indem ich einen absoluten Dateipfad zur C-Bibliothek vorausging.

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