mex.h location
Show older comments
I run Matlab in RedHat Linux 6.7 64-bit.
I write a lot of C mex files that compile with '-I/<location of Matlab>/extern/include' in the compiler options and '#include <mex.h>' in the C code.
Now I am starting to share this with other users with their installations in different places, so the '-I' option has to be different in different labs. I am looking for some way to automate this so a common make file can be shared with all users and hopefully will not need updating when Matlab is updated to a new version. [I understand the code may sometimes need revision, but here I am only talking about the include file changing location.]
Do you have any advice how to do this? Of course I can supply a -D option from the command line when running 'make', but this is undesirable for other users to have to bother with. Or I can install an environment variable in each user's shell startup, but that would require maintenance when there is a new version of Matlab.
Ideally, Matlab would install a link to its include directory somewhere like in /usr/local/include when it installs a link to itself in /usr/local/bin.
If you have no present solution to this problem, may I ask that you transfer this question into a feature request.
Thanks,
George Reeke
Answers (2)
Walter Roberson
on 30 Apr 2016
If this is to be called within MATLAB, then
fullfile(matlabroot, 'extern', 'include')
is the directory.
1 Comment
George Reeke
on 2 May 2016
James Tursa
on 4 May 2016
Why aren't you using double quotes? E.g.,
#include "mex.h"
1 Comment
George Reeke
on 4 May 2016
Categories
Find more on Introduction to Installation and Licensing 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!