Frage

Ich habe bemerkt, dass MATLAB die BLAS und LAPACK Header unter anderem vor:

$ 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

Ich möchte sie für meine kompilierten Code verwenden, so dass ich die folgenden zu kompilieren versucht:

ex_blas.c

#include <blas.h>

int main()
{
    return 0;
}

mit dem folgenden Befehl:

$ mex ex_blas.c

Aber das gibt einen Fehler zurück:

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’

Ist die blas.h von MATLAB verwendbar durch eine 3rd-Party-Anwendung außerhalb von MATLAB zur Verfügung gestellt? Wenn ja, was den Fehler verursacht oben?

War es hilfreich?

Lösung

Ich bin mir nicht sicher, ob es vollständig Ihre Probleme zu lösen, aber Sie müssen möglicherweise auch ein href enthalten <= „http://www.cplusplus.com/reference/clibrary/cstddef/“ rel = "nofollow noreferrer „> stddef.h da dort der ptrdiff_t Typ definiert ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top