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’
입니다 blas.h
Matlab이 Matlab 이외의 제 3 자 신청서에서 사용할 수있는 Matlab에 의해 제공됩니까? 그렇다면 위의 오류는 무엇입니까?
해결책
문제가 완전히 해결 될지 확실하지 않지만 포함해야 할 수도 있습니다. stddef.h
그 이유는 어디에 있습니다 ptrdiff_t
유형이 정의됩니다.
제휴하지 않습니다 StackOverflow