首页 > 解决方案 > 如何在 Matlab 2016b 中导入 Eigen C++ 库?

问题描述

尝试在 matlab 中运行此命令:

mex nameofthemainfile.cpp

它抛出以下错误:

使用 mex nameofthemainfile.cpp 时出错 ...\source\NameOfAnotherFile.h(10):致命错误 C1083:无法打开包含文件:'Eigen/Core':没有这样的文件或目录

我正在使用 VS2015 c++ 编译器。我需要使用另一个吗?

标签: c++matlabeigen

解决方案


您不能使用 mex 编译 c++ 库以在 matlab 中使用它们,但您可以编写一个包装器(比如说MexEigen.cpp),其中入口点在void mexFunction(...)内部使用 Eigen 库。然后,在使用 mex 编译时,记得添加 Eigen 头文件的包含路径:

mex MexEigen.cpp -I[PATH_TO_EIGEN_INCLUDE]

推荐阅读