11

ラップトップで Mex ファイルを正常にコンパイルしました。しかし、私がそれを実行しているとき、それは言いInvalid mex file 'c:\newfolder\filename.mexw32' The specified module could not be foundます.

System specification:  
OS: windows 7  
MATLAB 2010a  
Microsoft Visual Studio 2008.  

同じ mex ファイルがコンパイルされ、XP SP3 の PC で正常に実行されます。

4

4 に答える 4

9

この MathWorks サポート リンクは、問題の考えられる 2 つの理由を示唆しています。

  1. MEX 関数が依存する必要なライブラリがすべて揃っているわけではありません。
  2. コンパイルされたバージョンとは異なるバージョンの MATLAB で MEX ファイルを実行しています。

いずれにせよ、このエラーの原因を突き止めるには、すべての依存ライブラリ ファイルを一覧表示し、MEX ファイルを実行しようとしているシステムでそれらの存在を確認する必要があることを示し、依存関係ウォーカーをツールとして推奨しています。それを行う。

于 2013-03-11T13:02:39.093 に答える
4

作成されたシステムとは別のシステムで mex ファイルを使用していますか?

その場合、そのマシンにMicrosoft Visual C++ Redistributableをインストールする必要があります。

于 2013-03-11T12:45:26.743 に答える
0

Matlab2010a/VS2008 から Matlab2013a/VS2010 にアップグレードするときにもこの問題が発生しました。

すべての環境変数が正しく送信されました。再起動すると、OpenCV dll が見つからないという問題が修正されました。パスを変更したにもかかわらず、まだ VS2008 の OpenCV dll にリンクしようとしていたと思います。ただし、まだ私の mex ファイルは libmex.dll を見つけることができませんでした。

Matlab2013a をインストールしたとき、古いバージョンをアンインストールしませんでした (元に戻したい場合に備えて)。しかし、それが私の問題の原因でした。古いバージョンの Matlab をアンインストールして再起動すると、問題はなくなりました。

于 2013-05-03T14:11:40.983 に答える
0

同様の問題がありました。私は1つの「lib」に対してのみリンクしていたので、そのlibをmexw64と同じフォルダーにコピーしただけで機能しました。

ライブラリの実際の場所を、見ているパスに追加するようにMATLABに指示する正しい場所を探していません。

于 2014-10-28T13:54:04.347 に答える