首页 > 解决方案 > 编译 C++ MEX MATLAB API 时未解析的外部符号符号 __imp_get_function_ptr

问题描述

我正在尝试在 VS2017 IDE 中运行 Matlab R2021a 的 CPP Mex 存储库中的示例代码之一。具体来说,我正在运行 phonebook.cpp 之一。我之前在 VS2017 中按照本指南使用 C Mex API 编译其他解决方案时没有遇到任何问题。但是,我在编译 phonebook.cpp 时收到以下消息:

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2019 unresolved external symbol __imp_get_function_ptr referenced in function "int (__cdecl*__cdecl matlab::data::detail::resolveFunction<int (__cdecl*)(int,int,bool *)>(enum matlab::data::detail::FunctionType))(int,int,bool *)" (??$resolveFunction@P6AHHHPEA_N@Z@detail@data@matlab@@YAP6AHHHPEA_N@ZW4FunctionType@012@@Z) test    C:\Users\DuuMushishi\Documents\test.obj 1

我不确定需要添加什么库或者错误是否是由于其他原因

标签: c++matlabvisual-studio-2017mexunresolved-external

解决方案


我解决了这个问题。原来我必须在附加依赖项中包含“libMatlabDataArray.lib”(在我的例子中,位于 C:\Program Files\MATLAB\R2021a\extern\lib\win64\microsoft)


推荐阅读