'loadlibrary' - .h file problem.

2 views (last 30 days)
Arwel
Arwel on 14 Mar 2018
Hi
I have a shared c library that I would like to load into Matlab with 'loadlibrary'. The .h file looks like this...
#define NESTRUN __nested_MOD_nestrun
/***************************************** C Interface to MultiNest **************************************************/
extern void NESTRUN(int *, int *, int *, int *, double *, double *, int *, int *, int *, int *, int *, double *,
char *, int *, int *, int *, int *, int *, int *, double *, int *, void (*Loglike)(double *, int *, int *,
double *, void *), void (*dumper)(int *, int *, int *, double **, double **, double **, double *,
double *, double *, double *, void *), void *context);
void run(int IS, int mmodal, int ceff, int nlive, double tol, double efr, int ndims, int nPar, int nClsPar,
int maxModes, int updInt, double Ztol, char root[], int seed, int *pWrap, int fb, int resume, int outfile,
int initMPI, double logZero, int maxiter, void (*LogLike)(double *, int *, int *, double *, void *),
void (*dumper)(int *, int *, int *, double **, double **, double **, double *, double *, double *, double *, void *),
void *context)
{
int i;
for (i = strlen(root); i < 100; i++) root[i] = ' ';
NESTRUN(&IS, &mmodal, &ceff, &nlive, &tol, &efr, &ndims, &nPar, &nClsPar, &maxModes, &updInt, &Ztol,
root, &seed, pWrap, &fb, &resume, &outfile, &initMPI, &logZero, &maxiter, LogLike, dumper, context);
}
However, when I try 'loadlibrary' I get the following result.....
>> loadlibrary('/usr/local/lib/libmultinest.so','multinest.h')
Error using loadlibrary
/tmp/tpcc01f289_311e_4350_b966_3ac536132665/libmultinest_thunk_glnxa64.so: undefined symbol: __nested_MOD_nestrun
So, what am I doing wrong, and why is Matlab not picking up on the #define? ('multinest.h' is in my current working directory btw....)
Cheers,
Arwel

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!