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

3 vues (au cours des 30 derniers jours)
Eric
Eric le 7 Août 2013
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.

Réponses (2)

Philip Borghesani
Philip Borghesani le 8 Août 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 le 7 Août 2013
Modifié(e) : Andreas Goser le 7 Août 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 commentaire
Eric
Eric le 8 Août 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Introduction to Installation and Licensing dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by