How to define Mex function dependency paths

18 Ansichten (letzte 30 Tage)
Michael
Michael am 21 Jun. 2017
Bearbeitet: Walter Roberson am 9 Apr. 2020
I have a 'C' mex function (which is of course a dll with .mexa64 extension instead of .dll). It depends on other libraries, so during linking my makefile uses the link time flags -Wl, -rpath,$(INSTALLPATH) to allow the dependencies to be resolved at runtime. Of course I also link with -L$(INSTALLPATH) and -lmylib1 -lmylib2 etc... Both my mex function and its libraries reside in the same folder, and I add that folder to the Matlab 'path' variable in startup.m When I attempt to run my mex program however, Matlab returns with: Invalid MEX-file '$(INSTALLPATH)/mymexfunc.mexa64': libmylib.so.1: cannot open share object file: No such file or directory. Is there something else I need to do so the dependencies can be resolved?

Antworten (1)

Raggie A Pauly
Raggie A Pauly am 23 Jun. 2017
Bearbeitet: Walter Roberson am 9 Apr. 2020
I fixed the whole _SECURE_SCL flag issue. The end result is that for your case, you shouldn't have to make any manual changes but one problem I have is that whenever I run one of the matlab files it works fine the first time, but crashes the second time. Thanks for taking the time to help me out.

Kategorien

Mehr zu Write C Functions Callable from MATLAB (MEX Files) finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by