私はmatlab mex関数にはかなり経験がありますが、解決するのが非常に困難です。無効なMex-function
私はこのようなメッセージを受信しています:
無効なMEXファイル 「mymex.mexw64」: 指定されたプロシージャが見つかりませんでしたが。
通常、この問題はdllの不足に関連しています。 しかし、私は依存性歩行者と数回チェックし、何も欠けています。
また、「代替」ソフトウェア、たとえばProcessMonitor、ProcessExplorer、CFF_Explorerなどでチェックしました。私はすべてを試しました。
問題は、古いコードをMatlab2012からMatlab2015に移行しようとしたときに始まりました。このプロセスで
:
- 私は新しいバージョン(はい、私のMEX関数は、QTを使用しています)
- 変更されたプラットフォームにqtのバージョンを変更libmx、現在のものにlibmex(2015)
- を更新v140(旧バージョンはv110、Visual Studio 2012)
私の唯一の仮説は、カスタム* .libファイルを使用したものです。これらのlibファイルはv110でコンパイルされ、v140を使用しています。私の配布パッケージでは、Visual C++再頒布可能パッケージv110とv140の両方にdllを含めました。私はこれが可能かどうかは分かりませんが、ソースコードはうまくコンパイルされています。
これは
私の質問があり、非常に痛みを伴うことになるので、私は、これらの* .LIBSの除去テストしていません:
- は、有効な私の仮説ですか?
- 誰もこれを解決する方法を知っていますか?
このように:https://stackoverflow.com/questions/33659878/visual-studio-2015-v120-vs-v140 – guilhermecgs