Invalid MEX-file 'C:\Users\zs\Desktop\CSR-DCF\mex\mex_extractforeground.mexw64': 找不到指定模块

在Windows平台下

在使用MATLAB编译c++源程序,生成相应的格式后,在调用的时候,有的时候会出现这样的错误:Invalid MEX-file ‘C:\Users\zs\Desktop\CSR-DCF\mex\mex_extractforeground.mexw64’: 找不到指定模块
例如:这里写图片描述
这时去看源代码,感觉也没有错误。原因在于缺少dll文件,有可能环境变量中没有添加相应的路径。
在VS工程中,当缺少dll文件时系统会报出缺少dll的错误,但是在MATLAB调用c++程序,则会以这个形式报出这个错误。

同样的错误又在vl_feat中出现了一次。再从自己电脑移植到其他电脑的时候,由于vlfeat\toolbox\mex\mexw64目录下面只有msvcr100.dll,在程序运行时出现如下错误:
这里写图片描述

之后再上述目录下加入msvcr110.dll后,程序正常运行。

ubuntu平台下

这里以ECO的mexResize为例,如果对应的.so文件不对的话,依旧会这样的问题。
注意:由于Matlab2017a支持的gcc/g++版本最高位4.9,这里需要进行一下切换。
在进行mexResize进行混合编译的时候,还是正常可以编译得到mexResize.mexa64文件的,但是在使用的时候会报错。
这里写图片描述
这是因为在进行函数调用的时候,该函数直接调用的事环境变量里面的libopencv_core.so和libopencv_imgproc.so,而如果已经存在其他版本的opencv的话,会导致无法匹配,会报出Invalid MEX-file ‘/home/zs/Desktop/ECO-master2.0/external_libs/mexResize/mexResize.mexa64’的错误。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值