当我试图在Linux机器上制作.m
-文件的可执行文件时,一些.m
-文件运行得非常好。
然而,一个在.m
-文件中有摄像头输入的文件给了我这个错误:
Depfun错误:"来自MEX文件的意外标准异常。"。什么是:..'使用mcc时出错执行mcc时出现错误,返回状态=1(0x1)。
但是当我在Windows和R2012a上使用相同的.m
文件时,它工作正常,没有任何错误。
我在这里发现了一个错误报告——这是类似的问题吗?
我该如何解决?
这是我的.m
文件的简单代码:
function yuv()
vid1 = videoinput('linuxvideo', 1, 'YUYV_1280x960');
set(vid1,'FramesPerTrigger',1);
start(vid1);
imageData1=getdata(vid1,1);
imageData=ycbcr2rgb(imageData1);
imagesc(imageData(:,:,:,1));
end
在Linux上的R2013a下,我收到了同样的Depfun错误,"What()is:..",但在使用不同的操作系统或旧的MATLAB版本编译代码时没有错误。根据你链接的错误报告为我修复了它。
在错误报告中链接到的zip文件中,您会发现一个depfun.opts文件。重命名或移动位于[matlabroot]/toolbox/compiler
中的原始depfun.opts文件,然后将新文件复制到其位置。
将新的depfun.opts文件放在适当的位置是我能够在Linux上使用R2013a进行编译所需要的全部。
还要注意的是,错误报告说它可能是由importdata
函数或并行计算工具箱引起的,但我没有使用它们中的任何一个。