首页 > 解决方案 > 如何使用 Eclipse(4.20.0 版本)和 Matlab(R2021a)在 Windows 中编译 mex 函数

问题描述

我正在尝试编译根据 mathworks此处给出的规范创建的 c++ mex 函数(创建 C++ MEX 源文件)。但是,在按照此线程中的答案步骤将 Eclipse 4.4.2 和 Matlab R2015a 链接到 linux 环境(旧但我发现的唯一一个)之后,我收到以下错误:

undefined reference to `get_function_ptr'   mpi_pevd_mex_f      line 79, external location: C:\Program Files\MATLAB\R2021a\extern\include\MatlabDataArray\detail\ExceptionHelpers.hpp   C/C++ Problem

我不知道还缺少什么。我一直在努力寻找解决方案,但到目前为止没有任何用处。

谢谢您的帮助。

标签: c++eclipsefunctionmatlabmex

解决方案


我发现了问题。显然,我需要在大多数与 MEX 文件相关的帖子中详细介绍的库中添加额外的库,即 libmex/libmat/libmx。

利用 Matlab 中的详细模式(mex -v MexFunction.cpp),我意识到缺少这些库:libmwlapack、m、libmwblas、libMatlabEngine、libMatlabDataArray。添加它们后,错误消失了。


推荐阅读