2

私は C# の初心者で、最近、ここで提示された回答とほぼ同じ方法で MATLAB 関数を実行する Windows フォーム アプリケーション GUI を作成しました。したがって、基本的に Process.Start メソッドを使用して、バックグラウンドで MATLAB 関数を実行します。

これは 32 ビットでコンパイルされた MATLAB 関数で正常に動作しますが、関数を 64 ビット実行可能ファイルとしてコンパイルすると、WFA GUI から実行するときにエラーが発生します - 「MCR のバージョン 8.2 が見つかりませんでした。mclmcrrt8_2.dll をロードしようとしています。 "

コンパイルされた関数を WFA GUI の外で実行しても問題はありません。WFA は 64 ビット プロセスを実行できないようですが、回避策はありますか?

助けてくれてありがとう。

4

1 に答える 1

1

MATLAB と MCR の両方を同じマシンにインストールして、配布されたアプリで一貫して実行することはできません。

x32 と x64 の両方の MCR がインストールされている場合、私はうまくいきませんでしたが、異なるバージョンの MCR をインストールすることはできますが、それは最適ではありません。

MATLAB を展開した x64 MCR がある場合は、c# アプリで x64 を使用する必要があります。

これは明確に文書化されていません。これらは、同じ MATLAB ベースを COM DLL、x32 .NET アセンブリ、および x64 C++ 共有ライブラリとして展開した私の経験からのものです。

于 2014-09-08T20:28:54.490 に答える