1

どの特定のファイルが Microsoft コンパイラであるかを知りたいです。Matlab コードをコンパイルするために必要です。mex を実行mex -setupすると、次のディレクトリでコンパイラを見つけることができますd:\Program Files (x86)\Microsoft Visual Studio 10.0。アプリケーションをビルドしたいのですが、うまくいきません。Matlab が実際にコンパイラを見つけたようですが、エラー (コード = 53)An error occurred while shelling out to mbuild が表示されます。コンパイラディレクトリのようないくつかのオプションを追加します(すでにmexで設定していても)がd:\Program Files (x86)\Microsoft Visual Studio 10.0、コンパイラの名前が何であるかさえわかりません。私は本当にこれについて助けが必要です。ありがとう!

4

1 に答える 1

1

mex -setup正しく動作するために、実際のコンパイラが何と呼ばれているかを知る必要はありません。実行するmex -setupと、次のようなリストが表示されます。

Select a compiler: 
[1] Intel C++ 12.0 (with Microsoft Visual C++ 2010 linker) in C:\Program Files (x86)\Intel\ComposerXE-2011 
[2] Intel Visual Fortran 12.0 (with Microsoft Visual C++ 2010 linker) in C:\Program Files (x86)\Intel\ComposerXE-2011 
[3] Microsoft Visual C++ 2010 in C:\Program Files (x86)\Microsoft Visual Studio 10.0 

[0] None 

[3]有益な出力を選択すると、次の行が含まれます

Trying to update options file: D:\Users\my.name\AppData\Roaming\MathWorks\MATLAB\R2012a\mexopts.bat 
From template:              C:\PROGRA~1\MATLAB\R2012a\bin\win64\mexopts\msvc100opts.bat 

これらのファイルのいずれかを調べると、コンパイラの名前が見つかります (呼び出されcl.exe、Matlab が検索していることを示唆するディレクトリの下のディレクトリにいくつかの異なるバージョンがあります) と呼ばれるスクリプト変数の値に割り当てられますCOMPILERmexまた、コードを mex ファイルにコンパイルするときに使用するすべての設定も見つかります。この情報から残りの問題を診断できる場合があります。

この「ヘルプ」で問題を解決できない場合は、ヘルプを編集して、エラー メッセージを正確に説明し、

于 2012-08-27T15:03:09.127 に答える