在matlab中运行在dll中编译的m文件

时间:2012-10-11 16:01:38

标签: matlab dll matlab-deployment

所以我有一个m文件,我使用Matlab编译器以C dll格式编译。注意编译的dll文件最初是一个名为'matFunction.m'的matlab文件。现在我想从我的matlab代码运行这个dll。 _我正在做以下

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

但是我收到错误

Error using calllib
Method not found

我也用过

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

但是我得到了同样的错误。有人可以告诉我我做错了什么,以及我如何在我的matlab代码中运行这个dll。

1 个答案:

答案 0 :(得分:0)

loadlibrary是一个功能。正确的语法是

loadlibrary(dll,hfile)

根据documentation.

如果库已经加载到内存中,文档还明确指出 not 来调用该函数。你可以使用

tf = libisloaded(libname)

测试库是否已经加载到内存中。

此外,在使用calllib时,请确保为您的函数传递正确的参数:

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