Как мне использовать библиотеку BLAS, предоставляемую MATLAB?

StackOverflow https://stackoverflow.com/questions/1735985

  •  20-09-2019
  •  | 
  •  

Вопрос

Я заметил, что 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’

Это blas.h предоставляется MATLAB, может использоваться сторонним приложением за пределами MATLAB?Если да, то что вызывает ошибку выше?

Это было полезно?

Решение

Я не уверен, что это полностью решит ваши проблемы, но, возможно, вам также придется включить stddef.h поскольку именно здесь ptrdiff_t тип определен.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top