无法在Windows上编译mex文件

时间:2017-01-21 11:11:18

标签: matlab mex

当我尝试在Windows上编译.mex文件时,出现以下错误。我该如何解决这个问题?

  

使用mex时出错

     

MEX无法找到图书馆' mwblas'使用-l选项指定。
   MEX查找具有以下名称之一的文件:
   libmwblas.lib
   mwblas.lib
   请使用-L选项

指定此库的路径

1 个答案:

答案 0 :(得分:1)

如错误消息所示,您需要使用.lib选项指定-L文件所在的目录,或指定.lib文件的完整路径作为输入到mex。该库位于matlabroot/extern/lib。所以你可以做类似

的事情
blas = fullfile(matlabroot,'extern','lib',computer('arch'),'microsoft', 'libmwblas.lib');
mex('-largeArrayDims', 'mymexfile.cpp', blas)

或者您可以使用-L

指定文件夹
libdir = fullfile(matlabroot,'extern','lib',computer('arch'),'microsoft');
mex('-largeArrayDims', ['-L', libdir], '-lmwblas', 'mymexfile.cpp', )

有关编译mex文件以使用LAPACK和BLAS的更多信息是here