2012-10-11 1 views
2

J'ai donc un fichier m que j'ai compilé sous forme de DLL en utilisant le compilateur Matlab. Notez que le fichier dll compilé était à l'origine un fichier matlab nommé 'matFunction.m' .Maintenant, je veux pour lancer cette DLL depuis mon code matlab. _Je je fais ce qui suitExécution d'un fichier m compilé dans dll dans matlab

loadlibrary compiledDLL.dll compiledDLL.h 
calllib('compiledDLL','matfunction') 

mais j'obtiens l'erreur qui

Error using calllib 
Method not found 

J'ai aussi utilisé

loadlibrary compiledDLL.dll compiledDLL.h 
calllib('compiledDLL','matfunction.m') 

mais je suis obtenir la même erreur. Quelqu'un peut-il me dire ce que je fais mal, et comment je cours cette DLL dans mon code matlab.

+1

loadlibrary est une fonction, est-ce pas? c'est à dire 'loadlibrary (dll, hfile)'? Je peux me tromper –

+0

http://www.mathworks.com/help/matlab/ref/loadlibrary.html –

Répondre

0

loadlibrary est une fonction. La syntaxe est

loadlibrary(dll,hfile) 

selon la documentation.

La documentation indique également explicitement pas d'appeler la fonction si la bibliothèque est déjà chargée en mémoire. Vous pouvez utiliser

tf = libisloaded(libname) 

pour tester si la bibliothèque est déjà chargée en mémoire ou non.

En outre, lors de l'utilisation calllib, assurez-vous passer dans les arguments appropriés pour votre fonction ainsi:

[x1,...,xN] = calllib(libname,funcname,arg1,...,argN) 
Questions connexes