I am quite experienced with matlab mex functions, but I am having a problem very difficult to solve.
I am receiving a message like this:
Invalid MEX-file 'mymex.mexw64': The specified procedure could not be found.
Normally, this problem is related to missing dlls. However, I checked several times with dependency walker and nothing is missing.
Also, I checked with "alternative" softwares, eg: ProcessMonitor, ProcessExplorer, CFF_Explorer... and so on. I have tried everything.
The problem started when I tried to migrate an old code from Matlab2012 to Matlab2015.
In this process :
My only hypothesis is that something with some custom *.lib files used. These lib files are compiled in v110, and I am using v140. In my distribution package I have included the dlls to both Visual C++ Redistributable Packages v110 e v140. I am not sure if this is possible, although the source code is compiling just fine.
I have not tested removing these *.libs, because this would be quite painful
My questions are:
I figured out the answer myself. It turns out that simulink uses qt internally. So, the Dlls from my custom app is conflicting with simulink QT dlls. Both have the same name, but simulink is using a slightly different version of QT.
QT states that using the same major version you can have backwards compatibility... But that is not the case, at least not in matlab environment.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.