Problem trying to load .dll library using 'loadlibrary', error is, A 'Selected' compiler was not found. You may need to run mex -setup.
50 views (last 30 days)
Show older comments
I am a beginner on using the loadlibrary function and using .dll files, so I will appreciate any help I can get.
I am trying to load a .dll file with a header file, I am using:
>> loadlibrary('nameoflibrarydll', 'nameofheaderfile')
and it comes up with the error:
??? Error using ==> loadlibrary at 264 A 'Selected' compiler was not found. You may need to run mex -setup.
I do not understand what 'mex' is?
I think a problem is is that the .dll file is written using an old version of Matlab, and it needs to be used using Matlab 2011a. This is so that I can access functions from the header file, the codes of which probably need updating also to run in the new version of Matlab.
I also tried the same line of code for loadlibrary on a different computer and it comes up with the error:
C:\Users\User One\Documents\MATLAB Pentools\Wintab32.dll is not a valid Win32 application.
I understand the problem is to do with 32 bit and 64 bit versions of windows, but I do not understand what this means. If anyone could help explain what all the terminology means and how you think I may be able to proceed with accessing the .dll file, I would be most grateful.
0 Comments
Accepted Answer
Friedrich
on 13 Feb 2012
Hi,
in order to use loadlibrary you need to choose a compiler. In order to choose a compiler run
mex -setup
This starts a small setup routine in which you select your compiler.
In addition, 32bit ML can load 32bit DLLs only. 64bit ML can load 64bit DLLs only.
How was the DLL generated? I hope not with the MATLAB Compiler, because you shouldn't/can't load ML Compiler generated DLLs in MATLAB. They are not designed to work with loadlibrary and will most likely crash ML.
6 Comments
Friedrich
on 17 Feb 2012
I meant using C/C++ and the DLL only to check if the DLL can be used at all (so no MATLAB involved here). There a several guides in the internet showing you how to use a DLL:
http://www.flipcode.com/archives/Creating_And_Using_DLLs.shtml
More Answers (1)
Pang Pang
on 17 Aug 2017
In environment, select add-on. Search for MinGW-w64 Compiler and install. Just type in (mex -setup) without the parentheses in the command window once installation finishes.
0 Comments
See Also
Categories
Find more on C Shared Library Integration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!