2016-05-23 12 views
0

MATLAB(Windows 7 64ビット版では64ビット)でコードを実行中にinvalid mex fileエラーが発生します。無効なmexファイルエラー

いくつかのグーグルで、私はすべての依存関係のDLLファイルをダウンロードし、それらのMEXファイルと一緒に置く必要があることを知りました。だから私は(依存性ウォーカーを使用して依存関係をチェックしていますが)問題は残ります。 Dependency Walkerによると、異なるCPUタイプのDLLファイルがあります。

一部のDLLファイルの64ビット版が見つかりません。問題を解決するにはどうすればよいですか?依存関係ウォーカーのスナップショットはここにある:あなたはDLLの.hファイルを作成する必要がありますよう

enter image description here

+0

短い答え:できません。 64ビットのmexファイルでは、依存するdllも64ビットである必要があります。これを解決するには、32ビットのdllをラップし、プロセス間通信を使用します。 –

+0

また、64ビットバージョンの依存性ウォーカーを実行していることを確認してください。そうしないと、間違った場所で検索してx86 DLLを誤って一覧表示してしまいます。 – Amro

+0

ありがとうございます。 @Amro私は64ビット依存性ウォーカーを使用しています。 – Suleman

答えて

0

@Jorgan DLLのラッピングはオプションが、少し専門的な作業です。
幸いなことに私はmexファイルが以前のバージョンのmatlabの下でコンパイルされていたので、問題が発生しました。だから私は実際にコンパイルされたmatlab 2013aのdllファイルなしでコードを実行することができます。