2009-11-14 8 views
2

J'ai remarqué que Matlab fournit les en-têtes et BLAS LAPACK entre autres:Comment utiliser la bibliothèque BLAS fournie par MATLAB?

$ 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 

Je voudrais les utiliser pour mon code compilé, donc j'essayé de compiler les éléments suivants:

ex_blas.c

#include <blas.h> 

int main() 
{ 
    return 0; 
} 

avec la commande suivante:

$ mex ex_blas.c 

Mais cela renvoie une erreur:

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’ 

Est-ce le blas.h fourni par Matlab utilisable par une application 3ème partie à l'extérieur de Matlab? Si oui, quelle est l'origine de l'erreur ci-dessus?

Répondre

4

Je ne sais pas si cela résoudra complètement vos problèmes, mais vous devrez peut-être également inclure stddef.h car c'est là que le type ptrdiff_t est défini.

Questions connexes