Linux机器R2013a中的mcc -mv

时间:2013-06-27 05:34:19

标签: linux matlab mex matlab-compiler mcc

当我试图在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

1 个答案:

答案 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引起的,但我没有使用其中任何一个。