How to define Mex function dependency paths
18 views (last 30 days)
Show older comments
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?
0 Comments
Answers (1)
Raggie A Pauly
on 23 Jun 2017
Edited: Walter Roberson
on 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.
0 Comments
See Also
Categories
Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!