如何使用MATLAB提供的BLAS库?

时间:2009-11-14 23:35:31

标签: matlab blas

我注意到MATLAB提供了BLAS和LAPACK标题等等:

$ ls ${MATLAB_DIR}/extern/include/
blas.h            engine.h    lapack.h           mat.h            mclmcr.h      mex.h           mwutil.h
blascompat32.h    fintrf.h    libmatlbm.mlib     matrix.h         mclmcrrt.h    mwdebug.h       tmwtypes.h
emlrt.h           io64.h      libmatlbmx.mlib    mclcppclass.h    mcr.h         mwservices.h

我想将它们用于我的编译代码,所以我尝试编译以下内容:

ex_blas.c

#include <blas.h>

int main()
{
    return 0;
}

使用以下命令:

$ mex ex_blas.c

但这会返回错误:

In file included from ex_blas.c:1:
/Applications/MATLAB_R2009b.app/extern/include/blas.h:51: error: syntax error before ‘*’ token
/Applications/MATLAB_R2009b.app/extern/include/blas.h:62: error: syntax error before ‘*’ token
/Applications/MATLAB_R2009b.app/extern/include/blas.h:77: error: syntax error before ‘*’ token
/Applications/MATLAB_R2009b.app/extern/include/blas.h:92: error: syntax error before ‘*’ token
/Applications/MATLAB_R2009b.app/extern/include/blas.h:103: error: syntax error before ‘ptrdiff_t’
/Applications/MATLAB_R2009b.app/extern/include/blas.h:122: error: syntax error before ‘ptrdiff_t’

MATLAB提供的blas.h是否可以被MATLAB以外的第三方应用程序使用?如果是,导致上述错误的原因是什么?

1 个答案:

答案 0 :(得分:4)

我不确定它是否能完全解决您的问题,但您可能还必须包含stddef.h,因为这是定义ptrdiff_t类型的地方。