diff --git a/matlab/CMakeLists.txt b/matlab/CMakeLists.txt index 972408a..e196133 100644 --- a/matlab/CMakeLists.txt +++ b/matlab/CMakeLists.txt @@ -18,10 +18,45 @@ endif() set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) -add_library(mex SHARED src/mex.cpp include/mex.h include/mex_versions.h) -add_library(mx SHARED src/mx.cpp include/mex.h include/matrix.h include/matrix_versions.h) -add_library(ut SHARED src/ut.cpp) -add_library(eng SHARED src/eng.cpp) +add_library(mex SHARED src/mex.cpp include/mex.h include/mex_versions.h include/mex_Export.h) +add_library(mx SHARED src/mx.cpp include/mex.h include/matrix.h include/matrix_versions.h include/mx_Export.h) +add_library(ut SHARED src/ut.cpp include/ut.h include/ut_Export.h) +add_library(eng SHARED src/eng.cpp include/eng_Export.h) + +include(GenerateExportHeader) + +GENERATE_EXPORT_HEADER( + mex + BASE_NAME mex + EXPORT_MACRO_NAME mex_Export + EXPORT_FILE_NAME include/mex_Export.h + STATIC_DEFINE mex_BUILT_AS_STATIC +) +GENERATE_EXPORT_HEADER( + mx + BASE_NAME mx + EXPORT_MACRO_NAME mx_Export + EXPORT_FILE_NAME include/mx_Export.h + STATIC_DEFINE mx_BUILT_AS_STATIC +) +GENERATE_EXPORT_HEADER( + ut + BASE_NAME ut + EXPORT_MACRO_NAME ut_Export + EXPORT_FILE_NAME include/ut_Export.h + STATIC_DEFINE ut_BUILT_AS_STATIC +) +GENERATE_EXPORT_HEADER( + eng + BASE_NAME eng + EXPORT_MACRO_NAME eng_Export + EXPORT_FILE_NAME include/eng_Export.h + STATIC_DEFINE eng_BUILT_AS_STATIC +) +#target_include_directories(mex PUBLIC "${CMAKE_CURRENT_BINARY_DIR}") +#target_include_directories(mx PUBLIC "${CMAKE_CURRENT_BINARY_DIR}") +#target_include_directories(ut PUBLIC "${CMAKE_CURRENT_BINARY_DIR}") +#target_include_directories(eng PUBLIC "${CMAKE_CURRENT_BINARY_DIR}") if (NOT MATLAB_API_VERSION) set(MATLAB_API_VERSION 800) @@ -108,6 +143,11 @@ target_include_directories(mex PUBLIC $ ) +target_include_directories(ut PUBLIC + $ + $ +) + target_include_directories(mx PUBLIC $ $ diff --git a/matlab/include/eng_Export.h b/matlab/include/eng_Export.h new file mode 100644 index 0000000..108fc96 --- /dev/null +++ b/matlab/include/eng_Export.h @@ -0,0 +1,42 @@ + +#ifndef eng_Export_H +#define eng_Export_H + +#ifdef eng_BUILT_AS_STATIC +# define eng_Export +# define ENG_NO_EXPORT +#else +# ifndef eng_Export +# ifdef eng_EXPORTS + /* We are building this library */ +# define eng_Export __attribute__((visibility("default"))) +# else + /* We are using this library */ +# define eng_Export __attribute__((visibility("default"))) +# endif +# endif + +# ifndef ENG_NO_EXPORT +# define ENG_NO_EXPORT __attribute__((visibility("hidden"))) +# endif +#endif + +#ifndef ENG_DEPRECATED +# define ENG_DEPRECATED __attribute__ ((__deprecated__)) +#endif + +#ifndef ENG_DEPRECATED_EXPORT +# define ENG_DEPRECATED_EXPORT eng_Export ENG_DEPRECATED +#endif + +#ifndef ENG_DEPRECATED_NO_EXPORT +# define ENG_DEPRECATED_NO_EXPORT ENG_NO_EXPORT ENG_DEPRECATED +#endif + +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef ENG_NO_DEPRECATED +# define ENG_NO_DEPRECATED +# endif +#endif + +#endif diff --git a/matlab/include/matrix.h b/matlab/include/matrix.h index 3865592..243bb1d 100644 --- a/matlab/include/matrix.h +++ b/matlab/include/matrix.h @@ -47,52 +47,52 @@ typedef char16_t mxChar; #include // methods -int mxAddField(mxArray *, const char *); -char* mxArrayToString(const mxArray *); -mxArray* mxCreateCellMatrix(mwSize, mwSize); -mxArray* mxCreateCharMatrixFromStrings(mwSize, const char **); -mxArray* mxCreateDoubleMatrix(mwSize, mwSize, mxComplexity); -mxArray* mxCreateDoubleScalar(double); -mxArray* mxCreateLogicalMatrix(mwSize, mwSize); -mxArray* mxCreateLogicalScalar(bool); -mxArray* mxCreateNumericArray(mwSize, const mwSize *, mxClassID, mxComplexity); -mxArray* mxCreateNumericMatrix(mwSize, mwSize, mxClassID, mxComplexity); -mxArray* mxCreateSparse(mwSize, mwSize, mwSize, mxComplexity); -mxArray* mxCreateString(const char *); -mxArray* mxCreateStructMatrix(mwSize, mwSize, int, const char **); -void mxDestroyArray(mxArray *); -mxArray* mxGetCell(const mxArray *, mwIndex); -mxChar* mxGetChars(const mxArray *); -mxClassID mxGetClassID(const mxArray *); -void* mxGetData(const mxArray *); -const mwSize* mxGetDimensions(const mxArray *); -mxArray* mxGetField(const mxArray *, mwIndex, const char *); -mxArray* mxGetFieldByNumber(const mxArray *, mwIndex, int); -const char* mxGetFieldNameByNumber(const mxArray *, int); -mwIndex* mxGetIr(const mxArray *); -mwIndex* mxGetJc(const mxArray *); -size_t mxGetN(const mxArray *); -size_t mxGetM(const mxArray *); -mwSize mxGetNumberOfDimensions(const mxArray *); -mwSize mxGetNumberOfElements(const mxArray *); -int mxGetNumberOfFields(const mxArray *); -mxArray* mxGetProperty(const mxArray *, const mwIndex, const char *); -double mxGetScalar(const mxArray *); -int mxGetString(const mxArray *, char *, mwSize); -bool mxIsCell(const mxArray *); -bool mxIsChar(const mxArray *); -bool mxIsComplex(const mxArray *); -bool mxIsDouble(const mxArray *); -bool mxIsLogical(const mxArray *); -bool mxIsLogicalScalar(const mxArray *); -bool mxIsLogicalScalarTrue(const mxArray *); -bool mxIsNumeric(const mxArray *); -bool mxIsSparse(const mxArray *); -bool mxIsStruct(const mxArray *); -void mxSetCell(mxArray *, mwIndex, mxArray *); -void mxSetField(mxArray *, mwIndex, const char *, mxArray *); -void mxSetProperty(mxArray *, mwIndex, const char *, const mxArray *); -void mxSetFieldByNumber(mxArray *, mwIndex, int, mxArray *); -mxArray* mxCreateCharArray(mwSize, const mwSize *); +int mx_Export mxAddField(mxArray *, const char *); +char* mx_Export mxArrayToString(const mxArray *); +mxArray* mx_Export mxCreateCellMatrix(mwSize, mwSize); +mxArray* mx_Export mxCreateCharMatrixFromStrings(mwSize, const char **); +mxArray* mx_Export mxCreateDoubleMatrix(mwSize, mwSize, mxComplexity); +mxArray* mx_Export mxCreateDoubleScalar(double); +mxArray* mx_Export mxCreateLogicalMatrix(mwSize, mwSize); +mxArray* mx_Export mxCreateLogicalScalar(bool); +mxArray* mx_Export mxCreateNumericArray(mwSize, const mwSize *, mxClassID, mxComplexity); +mxArray* mx_Export mxCreateNumericMatrix(mwSize, mwSize, mxClassID, mxComplexity); +mxArray* mx_Export mxCreateSparse(mwSize, mwSize, mwSize, mxComplexity); +mxArray* mx_Export mxCreateString(const char *); +mxArray* mx_Export mxCreateStructMatrix(mwSize, mwSize, int, const char **); +void mx_Export mxDestroyArray(mxArray *); +mxArray* mx_Export mxGetCell(const mxArray *, mwIndex); +mxChar* mx_Export mxGetChars(const mxArray *); +mxClassID mx_Export mxGetClassID(const mxArray *); +void* mx_Export mxGetData(const mxArray *); +const mwSize* mx_Export mxGetDimensions(const mxArray *); +mxArray* mx_Export mxGetField(const mxArray *, mwIndex, const char *); +mxArray* mx_Export mxGetFieldByNumber(const mxArray *, mwIndex, int); +const char* mx_Export mxGetFieldNameByNumber(const mxArray *, int); +mwIndex* mx_Export mxGetIr(const mxArray *); +mwIndex* mx_Export mxGetJc(const mxArray *); +size_t mx_Export mxGetN(const mxArray *); +size_t mx_Export mxGetM(const mxArray *); +mwSize mx_Export mxGetNumberOfDimensions(const mxArray *); +mwSize mx_Export mxGetNumberOfElements(const mxArray *); +int mx_Export mxGetNumberOfFields(const mxArray *); +mxArray* mx_Export mxGetProperty(const mxArray *, const mwIndex, const char *); +double mx_Export mxGetScalar(const mxArray *); +int mx_Export mxGetString(const mxArray *, char *, mwSize); +bool mx_Export mxIsCell(const mxArray *); +bool mx_Export mxIsChar(const mxArray *); +bool mx_Export mxIsComplex(const mxArray *); +bool mx_Export mxIsDouble(const mxArray *); +bool mx_Export mxIsLogical(const mxArray *); +bool mx_Export mxIsLogicalScalar(const mxArray *); +bool mx_Export mxIsLogicalScalarTrue(const mxArray *); +bool mx_Export mxIsNumeric(const mxArray *); +bool mx_Export mxIsSparse(const mxArray *); +bool mx_Export mxIsStruct(const mxArray *); +void mx_Export mxSetCell(mxArray *, mwIndex, mxArray *); +void mx_Export mxSetField(mxArray *, mwIndex, const char *, mxArray *); +void mx_Export mxSetProperty(mxArray *, mwIndex, const char *, const mxArray *); +void mx_Export mxSetFieldByNumber(mxArray *, mwIndex, int, mxArray *); +mxArray* mx_Export mxCreateCharArray(mwSize, const mwSize *); #endif // matrix_H diff --git a/matlab/include/mex.h b/matlab/include/mex.h index 038afee..9d7b08b 100644 --- a/matlab/include/mex.h +++ b/matlab/include/mex.h @@ -1,5 +1,7 @@ #ifndef mex_H #define mex_H +#include "mex_Export.h" +#include "mx_Export.h" extern "C" @@ -12,15 +14,15 @@ extern "C" #include // methods -int mexCallMATLAB(int, mxArray *[], int, mxArray *[], const char *); -void mexErrMsgIdAndTxt(const char *, const char *, ...); -mxArray *mexCallMATLABWithTrap(int, mxArray *[], int, mxArray *[], const char *); -mxArray *mexGetVariable(const char *, const char *); -int mexEvalString(const char *); -void mexWarnMsgIdAndTxt(const char *, const char *, ...); -int mexPrintf(const char*, ...); -void mexLock(void); -int mexAtExit(void (*)(void)); +int mex_Export mexCallMATLAB(int, mxArray *[], int, mxArray *[], const char *); +void mex_Export mexErrMsgIdAndTxt(const char *, const char *, ...); +mxArray mex_Export *mexCallMATLABWithTrap(int, mxArray *[], int, mxArray *[], const char *); +mxArray mex_Export *mexGetVariable(const char *, const char *); +int mex_Export mexEvalString(const char *); +void mex_Export mexWarnMsgIdAndTxt(const char *, const char *, ...); +int mex_Export mexPrintf(const char*, ...); +void mex_Export mexLock(void); +int mex_Export mexAtExit(void (*)(void)); } diff --git a/matlab/include/mex_Export.h b/matlab/include/mex_Export.h new file mode 100644 index 0000000..39e09ae --- /dev/null +++ b/matlab/include/mex_Export.h @@ -0,0 +1,42 @@ + +#ifndef mex_Export_H +#define mex_Export_H + +#ifdef mex_BUILT_AS_STATIC +# define mex_Export +# define MEX_NO_EXPORT +#else +# ifndef mex_Export +# ifdef mex_EXPORTS + /* We are building this library */ +# define mex_Export __attribute__((visibility("default"))) +# else + /* We are using this library */ +# define mex_Export __attribute__((visibility("default"))) +# endif +# endif + +# ifndef MEX_NO_EXPORT +# define MEX_NO_EXPORT __attribute__((visibility("hidden"))) +# endif +#endif + +#ifndef MEX_DEPRECATED +# define MEX_DEPRECATED __attribute__ ((__deprecated__)) +#endif + +#ifndef MEX_DEPRECATED_EXPORT +# define MEX_DEPRECATED_EXPORT mex_Export MEX_DEPRECATED +#endif + +#ifndef MEX_DEPRECATED_NO_EXPORT +# define MEX_DEPRECATED_NO_EXPORT MEX_NO_EXPORT MEX_DEPRECATED +#endif + +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef MEX_NO_DEPRECATED +# define MEX_NO_DEPRECATED +# endif +#endif + +#endif diff --git a/matlab/include/mx_Export.h b/matlab/include/mx_Export.h new file mode 100644 index 0000000..8a56e1b --- /dev/null +++ b/matlab/include/mx_Export.h @@ -0,0 +1,42 @@ + +#ifndef mx_Export_H +#define mx_Export_H + +#ifdef mx_BUILT_AS_STATIC +# define mx_Export +# define MX_NO_EXPORT +#else +# ifndef mx_Export +# ifdef mx_EXPORTS + /* We are building this library */ +# define mx_Export __attribute__((visibility("default"))) +# else + /* We are using this library */ +# define mx_Export __attribute__((visibility("default"))) +# endif +# endif + +# ifndef MX_NO_EXPORT +# define MX_NO_EXPORT __attribute__((visibility("hidden"))) +# endif +#endif + +#ifndef MX_DEPRECATED +# define MX_DEPRECATED __attribute__ ((__deprecated__)) +#endif + +#ifndef MX_DEPRECATED_EXPORT +# define MX_DEPRECATED_EXPORT mx_Export MX_DEPRECATED +#endif + +#ifndef MX_DEPRECATED_NO_EXPORT +# define MX_DEPRECATED_NO_EXPORT MX_NO_EXPORT MX_DEPRECATED +#endif + +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef MX_NO_DEPRECATED +# define MX_NO_DEPRECATED +# endif +#endif + +#endif diff --git a/matlab/include/ut.h b/matlab/include/ut.h new file mode 100644 index 0000000..e596e1d --- /dev/null +++ b/matlab/include/ut.h @@ -0,0 +1,14 @@ +#ifndef ut_H +#define ut_H +#include "ut_Export.h" + +extern "C" +{ + +// Undocumented Matlab API +bool ut_Export utIsInterruptPending(void); +void ut_Export utSetInterruptPending(bool); + +} + +#endif // ut_H diff --git a/matlab/include/ut_Export.h b/matlab/include/ut_Export.h new file mode 100644 index 0000000..d06ac5e --- /dev/null +++ b/matlab/include/ut_Export.h @@ -0,0 +1,42 @@ + +#ifndef ut_Export_H +#define ut_Export_H + +#ifdef ut_BUILT_AS_STATIC +# define ut_Export +# define UT_NO_EXPORT +#else +# ifndef ut_Export +# ifdef ut_EXPORTS + /* We are building this library */ +# define ut_Export __attribute__((visibility("default"))) +# else + /* We are using this library */ +# define ut_Export __attribute__((visibility("default"))) +# endif +# endif + +# ifndef UT_NO_EXPORT +# define UT_NO_EXPORT __attribute__((visibility("hidden"))) +# endif +#endif + +#ifndef UT_DEPRECATED +# define UT_DEPRECATED __attribute__ ((__deprecated__)) +#endif + +#ifndef UT_DEPRECATED_EXPORT +# define UT_DEPRECATED_EXPORT ut_Export UT_DEPRECATED +#endif + +#ifndef UT_DEPRECATED_NO_EXPORT +# define UT_DEPRECATED_NO_EXPORT UT_NO_EXPORT UT_DEPRECATED +#endif + +#if 0 /* DEFINE_NO_DEPRECATED */ +# ifndef UT_NO_DEPRECATED +# define UT_NO_DEPRECATED +# endif +#endif + +#endif diff --git a/matlab/src/mex.cpp b/matlab/src/mex.cpp index f23d7de..3785b77 100644 --- a/matlab/src/mex.cpp +++ b/matlab/src/mex.cpp @@ -1,11 +1,11 @@ #include "mex.h" -int mexCallMATLAB(int, mxArray *[], int, mxArray *[], const char *) { return 0; } -void mexErrMsgIdAndTxt(const char *, const char *, ...) {} -mxArray *mexCallMATLABWithTrap(int, mxArray *[], int, mxArray *[], const char *) { return 0; } -mxArray *mexGetVariable(const char *, const char *) { return 0; } -void mexWarnMsgIdAndTxt(const char *, const char *, ...) {} -int mexPrintf(const char*, ...) { return 0; } -void mexLock(void) {} -int mexAtExit(void (*)(void)) { return 0; } -int mexEvalString(const char *) { return 0; } +int mex_Export mexCallMATLAB(int, mxArray *[], int, mxArray *[], const char *) { return 0; } +void mex_Export mexErrMsgIdAndTxt(const char *, const char *, ...) {} +mxArray mex_Export *mexCallMATLABWithTrap(int, mxArray *[], int, mxArray *[], const char *) { return 0; } +mxArray mex_Export *mexGetVariable(const char *, const char *) { return 0; } +void mex_Export mexWarnMsgIdAndTxt(const char *, const char *, ...) {} +int mex_Export mexPrintf(const char*, ...) { return 0; } +void mex_Export mexLock(void) {} +int mex_Export mexAtExit(void (*)(void)) { return 0; } +int mex_Export mexEvalString(const char *) { return 0; } \ No newline at end of file diff --git a/matlab/src/mx.cpp b/matlab/src/mx.cpp index 3421cf7..71cae71 100644 --- a/matlab/src/mx.cpp +++ b/matlab/src/mx.cpp @@ -1,49 +1,49 @@ #include "mex.h" -int mxAddField(mxArray *, const char *) { return 0; } -char *mxArrayToString(const mxArray *) { return 0; } -mxArray *mxCreateCellMatrix(mwSize, mwSize) { return 0; } -mxArray *mxCreateCharMatrixFromStrings(mwSize, const char **) { return 0; } -mxArray *mxCreateDoubleMatrix(mwSize, mwSize, mxComplexity) { return 0; } -mxArray *mxCreateDoubleScalar(double) { return 0; } -mxArray *mxCreateLogicalMatrix(mwSize, mwSize) { return 0; } -mxArray *mxCreateLogicalScalar(bool) { return 0; } -mxArray *mxCreateNumericArray(mwSize, const mwSize *, mxClassID, mxComplexity) { return 0; } -mxArray *mxCreateNumericMatrix(mwSize, mwSize, mxClassID, mxComplexity) { return 0; } -mxArray *mxCreateSparse(mwSize, mwSize, mwSize, mxComplexity) { return 0; } -mxArray *mxCreateString(const char *) { return 0; } -mxArray *mxCreateStructMatrix(mwSize, mwSize, int, const char **) { return 0; } -void mxDestroyArray(mxArray *) { } -mxArray *mxGetCell(const mxArray *, mwIndex) { return 0; } -mxChar *mxGetChars(const mxArray *) { return 0; } -mxClassID mxGetClassID(const mxArray *) { return mxUNKNOWN_CLASS; } -void *mxGetData(const mxArray *) { return 0; } -const mwSize *mxGetDimensions(const mxArray *) { return 0; } -mxArray *mxGetField(const mxArray *, mwIndex, const char *) { return 0; } -mxArray *mxGetFieldByNumber(const mxArray *, mwIndex, int) { return 0; } -const char *mxGetFieldNameByNumber(const mxArray *, int) { return 0; } -mwIndex *mxGetIr(const mxArray *) { return 0; } -mwIndex *mxGetJc(const mxArray *) { return 0; } -size_t mxGetN(const mxArray *) { return 0; } -size_t mxGetM(const mxArray *) { return 0; } -mwSize mxGetNumberOfDimensions(const mxArray *) { return 0; } -mwSize mxGetNumberOfElements(const mxArray *) { return 0; } -int mxGetNumberOfFields(const mxArray *) { return 0; } -mxArray * mxGetProperty(const mxArray *, const mwIndex, const char *) { return 0; } -double mxGetScalar(const mxArray *) { return 0; } -int mxGetString(const mxArray *, char *, mwSize) { return 0; } -bool mxIsCell(const mxArray *) { return 0; } -bool mxIsChar(const mxArray *) { return 0; } -bool mxIsComplex(const mxArray *) { return 0; } -bool mxIsDouble(const mxArray *) { return 0; } -bool mxIsLogical(const mxArray *) { return 0; } -bool mxIsLogicalScalar(const mxArray *) { return 0; } -bool mxIsLogicalScalarTrue(const mxArray *) { return 0; } -bool mxIsNumeric(const mxArray *) { return 0; } -bool mxIsSparse(const mxArray *) { return 0; } -bool mxIsStruct(const mxArray *) { return 0; } -void mxSetCell(mxArray *, mwIndex, mxArray *) { } -void mxSetField(mxArray *, mwIndex, const char *, mxArray *) { } -void mxSetProperty(mxArray *, mwIndex, const char *, const mxArray *) { } -void mxSetFieldByNumber(mxArray *, mwIndex, int, mxArray *) { } -mxArray *mxCreateCharArray(mwSize, const mwSize *) { return 0; } +int mx_Export mxAddField(mxArray *, const char *) { return 0; } +char mx_Export *mxArrayToString(const mxArray *) { return 0; } +mxArray mx_Export *mxCreateCellMatrix(mwSize, mwSize) { return 0; } +mxArray mx_Export *mxCreateCharMatrixFromStrings(mwSize, const char **) { return 0; } +mxArray mx_Export *mxCreateDoubleMatrix(mwSize, mwSize, mxComplexity) { return 0; } +mxArray mx_Export *mxCreateDoubleScalar(double) { return 0; } +mxArray mx_Export *mxCreateLogicalMatrix(mwSize, mwSize) { return 0; } +mxArray mx_Export *mxCreateLogicalScalar(bool) { return 0; } +mxArray mx_Export *mxCreateNumericArray(mwSize, const mwSize *, mxClassID, mxComplexity) { return 0; } +mxArray mx_Export *mxCreateNumericMatrix(mwSize, mwSize, mxClassID, mxComplexity) { return 0; } +mxArray mx_Export *mxCreateSparse(mwSize, mwSize, mwSize, mxComplexity) { return 0; } +mxArray mx_Export *mxCreateString(const char *) { return 0; } +mxArray mx_Export *mxCreateStructMatrix(mwSize, mwSize, int, const char **) { return 0; } +void mx_Export mxDestroyArray(mxArray *) { } +mxArray mx_Export *mxGetCell(const mxArray *, mwIndex) { return 0; } +mxChar mx_Export *mxGetChars(const mxArray *) { return 0; } +mxClassID mx_Export mxGetClassID(const mxArray *) { return mxUNKNOWN_CLASS; } +void mx_Export *mxGetData(const mxArray *) { return 0; } +const mwSize mx_Export *mxGetDimensions(const mxArray *) { return 0; } +mxArray mx_Export *mxGetField(const mxArray *, mwIndex, const char *) { return 0; } +mxArray mx_Export *mxGetFieldByNumber(const mxArray *, mwIndex, int) { return 0; } +const char mx_Export *mxGetFieldNameByNumber(const mxArray *, int) { return 0; } +mwIndex mx_Export *mxGetIr(const mxArray *) { return 0; } +mwIndex mx_Export *mxGetJc(const mxArray *) { return 0; } +size_t mx_Export mxGetN(const mxArray *) { return 0; } +size_t mx_Export mxGetM(const mxArray *) { return 0; } +mwSize mx_Export mxGetNumberOfDimensions(const mxArray *) { return 0; } +mwSize mx_Export mxGetNumberOfElements(const mxArray *) { return 0; } +int mx_Export mxGetNumberOfFields(const mxArray *) { return 0; } +mxArray * mx_Export mxGetProperty(const mxArray *, const mwIndex, const char *) { return 0; } +double mx_Export mxGetScalar(const mxArray *) { return 0; } +int mx_Export mxGetString(const mxArray *, char *, mwSize) { return 0; } +bool mx_Export mxIsCell(const mxArray *) { return 0; } +bool mx_Export mxIsChar(const mxArray *) { return 0; } +bool mx_Export mxIsComplex(const mxArray *) { return 0; } +bool mx_Export mxIsDouble(const mxArray *) { return 0; } +bool mx_Export mxIsLogical(const mxArray *) { return 0; } +bool mx_Export mxIsLogicalScalar(const mxArray *) { return 0; } +bool mx_Export mxIsLogicalScalarTrue(const mxArray *) { return 0; } +bool mx_Export mxIsNumeric(const mxArray *) { return 0; } +bool mx_Export mxIsSparse(const mxArray *) { return 0; } +bool mx_Export mxIsStruct(const mxArray *) { return 0; } +void mx_Export mxSetCell(mxArray *, mwIndex, mxArray *) { } +void mx_Export mxSetField(mxArray *, mwIndex, const char *, mxArray *) { } +void mx_Export mxSetProperty(mxArray *, mwIndex, const char *, const mxArray *) { } +void mx_Export mxSetFieldByNumber(mxArray *, mwIndex, int, mxArray *) { } +mxArray mx_Export *mxCreateCharArray(mwSize, const mwSize *) { return 0; } \ No newline at end of file diff --git a/matlab/src/ut.cpp b/matlab/src/ut.cpp index 2b789cc..398561d 100644 --- a/matlab/src/ut.cpp +++ b/matlab/src/ut.cpp @@ -1,3 +1,5 @@ +#include "ut.h" + extern "C" {