MATLAB Answers


Using a shared .dll library while making an executable

Asked by ryan
on 15 Jun 2013

So i know in order to use the 'loadlibrary' function you need a c compiler. But what if i turn the matlab code calling the 'loadlibrary' function into an executable program and that program is used on a computer without a c compiler?

I am using 3 functions from a .dll library, but do not actually have the .c code, otherwise i could just make a mex function using the .c files.

Is it possible to compile a mex64 function with only the .dll library file, and the header file? If not is it possible to write a mex function that uses those files? I want to make the program as versitile as possible, but it needs to be called in matlab.

If anyone has any ideas on what a good way to approach this problem, or general info i would be very thankful.


1 Answer

Answer by Walter Roberson
on 15 Jun 2013
 Accepted answer


You can see how to generate the prototype file at

That is, in a setup run on the development machine you would use the .h to generate the protofile; then the code you would compile would use the @protofile syntax on the already-generated file.

  1 Comment

on 18 Jun 2013

walter, This works nice and great, except I am having issues with the code still, and I am starting to think i might have something to do with the endianness. If i instead wrote the program i wanted in c++, and compiled a .mex64 function, once the function is written would i be able to run the program w/out the need for a c/c++ compiler?

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!