2012-03-20 6 views
2

Matlabの代わりにMCRでコンパイルされた.exeファイルを実行するのに問題があります。プログラムが複数のスレッドを使用しているために分かります。 MCRで実行中)。同じマシンでMatlab MCRとMATLABを実行する

"MCRインストールに対して展開されたコンポーネントを実行するには、mcr_root \ ver \ runtime \ win32 | MATLABのドキュメント(http://www.mathworks.com/help/toolbox/compiler/f12-999353.html)を参照してください。 Win64のはのmatlabrootの\ランタイムの\ win32の前に、システム・パス上に表示されなければなりません。| win64の

もしここで、mcr_root \版\ランタイム\アーチは、最初にコンパイルされたアプリケーションパスに表示され、アプリケーションはMCRインストールエリア内のファイルを使用しています

matlabroot \ runtime \ archがコンパイルされたアプリケーションパス上に最初に表示される場合、アプリケーションはMATLAB Compilerのインストール領域にあるファイルを使用します。

誰も私のためにドットをもう少し接続できますか?私はこれが何を意味するのか分からない。ありがとう!

答えて

1

私は同じ問題を抱えていました。私のコンパイルされたコードはマルチスレッドでした。

問題は、オプションを指定してコンパイルすることで解決しまった:応答のための

-R -singleCompThread

+0

ありがとう - それは知るのに本当に便利なオプションです。私はMATLABを持たないコンピュータで同じexeを実行すると1つのスレッドしか使用しないので、exeそのものだとは思わないので、私の場合はさらに別の問題があると思います。 MCRとMATLABの関係はスレッド自体の数よりも重要です。 – user1189728

0

WindowsでPATHグローバル環境変数を正しく設定する必要があります。どのようにそれを行うかは、Windowsのバージョンによって異なります。ここで

「は、Windows上のパスを設定し、」検索によってGoogleからの最初のリンクです:http://www.computerhope.com/issues/ch000549.htm

この変数はディレクトリのリストです。 MATLAB実行可能ファイルがあるディレクトリよりも、このリストの前に実行可能なMCRを持つディレクトリがあることを確認してください。

+0

感謝を。私はPATH変数を設定しようとしましたが、何も変わりませんでした。このリストには、MATLAB実行可能ファイルを含むディレクトリも含まれていませんでした。 – user1189728

+0

あなたのコードを 'getenv( 'path')'でPATH変数にチェックインしてください。パスを設定した後、コンピュータを再起動してみてください。 – yuk

関連する問題