未找到 Mexopencv mex 文件

Posted

技术标签:

【中文标题】未找到 Mexopencv mex 文件【英文标题】:Mexopencv mex file not found 【发布时间】:2013-08-28 14:16:23 【问题描述】:

我调用了一个使用 matlab 中的 mexopencv 编译的 mex 文件。该程序在 matlab 中运行并且没有问题,但是当我使用 matlab deploytool 将 matlab 转换为 c++ 共享库并在运行 exe 时编译为 exe 应用程序时,我收到一个错误,即找不到 mexfile 或它不是有效的文件路径或目录。这可能是什么原因?我应该在我的 Makefile 中添加任何其他库或路径还是应该更改系统路径?我正在使用 linux 和 MATLAB R2012a,mexopencv。

请注意,可以从 matlab 调用 mex 文件并给出输出,但不能由 exe 调用。我正在尝试运行已经在 mexopencv 示例中的人脸检测模块。它需要一个 xml 文件作为输入。为什么检测不到mex文件和xml文件?

【问题讨论】:

【参考方案1】:

deploytool 应该引入 MEX 文件,所以我不得不猜测 mexopencv 文件的依赖项没有包含在生成的库中,也没有通过LD_LIBRARY_PATHLD_PRELOAD 访问。这些将是 OpenCV 库(例如 libopencv_core.so.2.4、libopencv_imgproc.so.2.4 等)。

使用 ldd 检查 mexopencv mex 文件的其他依赖项(对于 Windows 用户,请使用 Dependency Walker)。 编辑:然后添加它们!

【讨论】:

以上是关于未找到 Mexopencv mex 文件的主要内容,如果未能解决你的问题,请参考以下文章

matlab 解决 错误使用 mex 未找到支持的编译器或 SDK

Matlab 2017a 无法识别编译器(使用 mex 时出错,未找到支持的编译器或 SDK)

用于 Opencv 的 groupRectangles 的 Mex

无效的 mex 文件错误(libstd++ 版本)

基于 Matlab C 的 Mex 文件,套接字未运行

mex 文件未在 MATLAB 7.5.0 (R2007b) 中执行