当我试图在Linux机器上制作我的.m
文件的可执行文件时,一些.m
- 文件工作正常。
然而,一个在.m
文件中有摄像头输入的文件给了我这个错误:
Depfun错误:'来自MEX文件的意外标准异常。 What()是:..'使用mcc时出错执行mcc时出错,返回状态= 1(0x1)。
但是当我在Windows和R2012a上使用相同的.m
文件时,它正常运行而没有任何错误。
我发现a bug report here - 这是一个类似的问题吗?
我该如何解决?
以下是我的.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
答案 0 :(得分:1)
我得到了相同的Depfun错误,“What()是:..”,在Linux上的R2013a下,但在使用不同的OS或较旧的MATLAB版本编译我的代码时没有错误。在您链接的bug report之后为我修复了它。
在链接到bug report的zip文件中,您将找到depfun.opts文件。重命名或移动位于[matlabroot]/toolbox/compiler
中的原始depfun.opts文件,并将新文件复制到其位置。
使用新的depfun.opts文件就可以让我在Linux上使用R2013a进行编译。
另请注意,错误报告说它可能是由importdata
函数或Parallel Computing Toolbox引起的,但我没有使用其中任何一个。