c++ - 如何使用 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
我不知道还缺少什么。我一直在努力寻找解决方案,但到目前为止没有任何用处。
谢谢您的帮助。
解决方案
我发现了问题。显然,我需要在大多数与 MEX 文件相关的帖子中详细介绍的库中添加额外的库,即 libmex/libmat/libmx。
利用 Matlab 中的详细模式(mex -v MexFunction.cpp),我意识到缺少这些库:libmwlapack、m、libmwblas、libMatlabEngine、libMatlabDataArray。添加它们后,错误消失了。