Unload C++ shared library interface DLL

8 Ansichten (letzte 30 Tage)
jh
jh am 21 Sep. 2021
Beantwortet: 埃博拉酱 am 28 Okt. 2024 um 14:51
When developing and testing a c++ shared library interface, rebuilding it with build() it fails with permission denied because the DLL file already exists, but if you try to delete it it gives an error that it can't be deleted because it's open in matlab (from the previous testing). Is there a way to unload it?
unloadlibrary does not work for this, it says "Could not find library class to unload it" (libisloaded also returns 0)
I found this question asked at least twice before but with no answer in either case.
Any info appreciated, even if it's a confirmation that it's not possible.

Antworten (1)

埃博拉酱
埃博拉酱 am 28 Okt. 2024 um 14:51
I think you're probably going to need to use the Windows NT API. It is true that there is no way to uninstall the clib in the official MATLAB documentation.
Another way is to write a C++ MEX file function that can be easily unloaded using clear mex.

Kategorien

Mehr zu Call C++ from MATLAB finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by