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

Mais quand je suis en train d'appeler depuis robot de la fonction de son lancer une erreur sans argument a échoué: OSError: sharedlibrary.so: ne peut pas ouvrir le fichier objet partagé : Aucun fichier ou répertoire de ce typeMarchepied Robot Script cadre à partir de Python Library qui charge CDLL lancer erreur

Répondre

0

Vous ne savez pas à quoi ressemble votre structure de fichiers, mais j'ai rencontré le même problème lorsque j'ai placé mes scripts de test robot dans un dossier différent de celui de mes bibliothèques python. Je l'ai résolu en pré-attendant un chemin de fichier absolu à la bibliothèque C.

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