[英]Invalid Mex-function
我對matlab mex函數非常有經驗,但是我有一個很難解決的問題。
我收到這樣的消息:
無效的MEX文件'mymex.mexw64':找不到指定的過程。
通常,此問題與丟失的dll有關。 但是,我檢查了依賴遍歷器幾次,沒有丟失任何東西。
另外,我使用“替代”軟件進行了檢查,例如:ProcessMonitor,ProcessExplorer,CFF_Explorer ...等。 我已經嘗試了一切。
當我嘗試將舊代碼從Matlab2012遷移到Matlab2015時,問題就開始了。
在這個過程中:
我唯一的假設是使用某些帶有自定義* .lib文件的文件。 這些lib文件是在v110中編譯的,而我正在使用v140。 在我的分發程序包中,我已經將dll包含在兩個Visual C ++可再發行程序包v110和v140中。 我不確定這是否可能,盡管源代碼可以很好地編譯。
我還沒有測試過刪除這些* .libs,因為這會很痛苦
我的問題是:
我自己想出了答案。 事實證明simulink在內部使用qt。 因此,來自我的自定義應用程序的Dll與simulink QT dll沖突。 兩者的名稱相同,但是simulink使用的QT版本略有不同。
QT指出,使用相同的主版本可以具有向后兼容性...但這並非如此,至少在matlab環境中並非如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.