【发布时间】:2011-04-17 19:16:31
【问题描述】:
我正在尝试从 Matlab 编译 C 共享库。我的 Matlab 代码使用了很多图像处理功能。所以,编译很顺利,但是当我从我的应用程序调用 dll 时,我收到如下消息:
“双精度类型输入参数的未定义函数或方法‘XYZ’”。
我已验证我的论点没问题——这不是类型问题。所以,我尝试将%#function XYZ 添加到我的 .m 文件中,但这并没有任何帮助。然后,我尝试在编译命令中使用-a 标志:
eval(['mcc -v -N -W lib:cshared -d ' clibdir ' -T link:lib -a edge' allFiles]);
但编译失败:
Depfun 错误:“无法在 MATLAB 路径上将边定位为函数”
我已验证图像处理文件在我的计算机上(我可以毫无问题地从 matlab 运行所有内容)并且我的路径指向包含它们的目录。
我还尝试将工具箱 .m 文件复制到我的工作目录中,但这很快就会膨胀成很多文件。而且,对于某些功能,没有 .m - 只有 .mex - 我还没有找到将 mex 文件包含到我的 .dll 中的方法。
我错过了什么?
【问题讨论】:
标签: matlab matlab-deployment matlab-compiler