When interfacing with .NET, how do I use unmanaged DLLs that are located in the assembly folder?

2 views (last 30 days)
Hi,
I'm calling some functions in a .NET assembly that is in a different folder to MATLAB. I'm aware that using dllimport for unmanaged DLLs doesn't work in this case because matlab.exe is in a different folder. Copying the unmanaged DLLs to the MATLAB installation folder works, but this is not an ideal solution for production code.
Is there a way to get around this problem without hard-coding directories? I'm trying to avoid editing the Windows path.
Thanks
James

Accepted Answer

Friedrich
Friedrich on 6 Dec 2013
Edited: Friedrich on 10 Dec 2013
Hi,
you can edit the PATH locally for MATLAB only with the setenv command:
setenv('PATH',[getenv('PATH'),';C:\your folder with DLLs'])
So you can build up the PATH dynamically at runtime and set it silently in the background.
UPDATED TYPO (Thanks James)

More Answers (0)

Categories

Find more on Startup and Shutdown 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!