下午好,
我尝试使用Matlab处理一些C ++ dll文件,并且我试图实现一个简单的测试用例来理解该过程。我正在使用的dll文件是从这里逐字复制的:
https://msdn.microsoft.com/en-us/library/ms235636.aspx
我只实现了第5步,因为我希望通过Matlab调用dll文件。完成第5步后,我将MathLibrary.h和MathLibrary.dll复制到我用于我的Matlab代码的目录中,然后运行
[notfound,warnings]=loadlibrary('MathLibrary.dll','MathLibrary.h');
运行此操作后,我收到警告
>Warning: No functions found in library.
>
>In C:\Program Files\MATLAB\R2014b\toolbox\matlab\general\loadlibrary.p>loadlibrary at 431
未发现的单元格数组为空,警告是一个带有warnings = MathLibrary.h的数组
如果我尝试使用dll中的一个函数,我执行以下代码:
calllib('MathLibrary','Add',5,3)
会抛出以下错误
>Error using calllib
>
>Method was not found.
我已经尝试过针对类似问题的谷歌搜索解决方案,但没有找到我看过的解决方案(至少我已经理解过)。我的C ++很弱,这可能会妨碍我对问题和解决方案的理解。我希望很快就能从一个更大的项目中加入dll文件,所以理解这一点将是一个很大的帮助。非常感谢!