我正在尝试创建mex
文件以在Matlab中使用某些C ++代码,但是编译遇到错误,我想这超出了Matlab。我在Windows上。
我苦苦挣扎的示例是Armadillo库中用于线性代数的 Mex Interface 示例,该示例可用:here。 Matlab文件就是我正在运行的文件,它看起来像这样:
% Compile the demo as a mex file
mex -lgfortran armaMex_demo.cpp -I/path/to/armadillo
我得到的错误是:
Error using mex
MEX cannot find library 'gfortran' specified with the -l option.
MEX looks for a file with one of the names:
libgfortran.lib
gfortran.lib
Please specify the path to this library with the -L option.
尝试一些在网上找到的东西,我安装了MinGW和cygwin64,并将其bin文件夹的路径添加到我的PATH
变量中。在此之前,我还通过Matlab安装了MinGW。
我的问题:如何使其与gfortran
链接?
如果我在C:
中搜索libgfortran
,我会找到一些文件,但是它们都没有以.lib
结尾的文件(例如.dll
和.a
)并且如果我搜索gfortran
,我会发现一些.exe
文件,但同样没有.lib
文件。如果我在终端中运行gfortran -dumpversion
,我将得到4.9.3
的返回,因此显然它在某处。显然我很想念什么,至少可以说这真的不是我的专长。