1

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

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

4

1 回答 1

0

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

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

于 2013-09-14T19:16:13.580 回答