How can I use a DLL with Matlab when I cannot install a C compiler?

7 views (last 30 days)
Often, you use DLL's to control some hardware, e.g. FTDI's USB interfaces. The DLL's that come with such devices typically do not need a compiler to be installed somewhere, and I don't want to install a C compiler just to interface to a miscellanous piece of hardware. (By the way, it's easy enough to make a DLL that does not need a compiler's distribution package.) How do you interface to such a DLL without having to install a complete computer package? I've tried with 'mex -setup', but I don't seem to get things running this way without a compiler.

Answers (2)

Philip Borghesani
Philip Borghesani on 8 Aug 2013
If you use the "mfilename" option to loadlibrary on the first computer to produce a prototype file (and thunk file if using 64 bit MATLAB) then use those on the second computer a compiler will not be needed.

Andreas Goser
Andreas Goser on 7 Aug 2013
Edited: Andreas Goser on 7 Aug 2013
mex -setup needs a C compiler as this is actually the command for setting up one.
Why do you think you need one?
And in case you really need one: Why can't you install one? There are free ones supported.
  1 Comment
Eric
Eric on 8 Aug 2013
I don't need a compiler, I just want to use a DLL (on a colleague's computer). But to use a DLL, you must load it using 'loadlibrary', which refuses to load unless you first select a C compiler using 'mex'. I strongly sympathise with Matlab's idea of selecting a C compiler, because it avoids the well known problem of 'DLL hell'. But if you have a DLL that does not refer to e.g. a runtime DLL, having to install a compiler is a nuisance.

Sign in to comment.

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!