How do I persuade MEX to link to a static library?
8 views (last 30 days)
Show older comments
I am trying to compile a C++ file that calls some functions in a static library (.lib). I am using:
mex cfile.cpp -llibname
I get an error "LNK2019: unresolved external symbol function_name referenced in function mexFunction" for each function I call from the library, exactly as if I'd not passed mex the library file.
The .lib file links fine outside of MATLAB, e.g. when compiling an exe using cl. How do I make mex recognise the library file?
0 Comments
Accepted Answer
More Answers (1)
Adam
on 24 Jun 2015
I use the
-Llibfolder
option too when I compile my mex file against a static library. It sounds as though it just isn't finding the static library. As far as I can remember the library must be in the folder in which you call the mex function if you do not specify a path.
I have a function that wraps up the mex compilation code for mine and the library being linked against is in a different folder to that function so the -L option locates it.
See Also
Categories
Find more on Call C++ from MATLAB in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!