4

私はMatlabで非常に厄介な問題を抱えています。ハードウェアと通信するためのカスタム C スタイル DLL があります。私のPCでも同僚のPCでも問題なく動作します。3 番目の PC では、次のようにロードできません。

Error using ==> loadlibrary at 365 入力ファイルの前処理に失敗しました。プリプロセッサからの出力は次のとおりです。「cl」は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません。

明らかに、コンパイラが見つかりません。それでも !mex -setup を実行すると、マシン (VS2008) 上の唯一のコンパイラを選択するための対話型ビットが取得され、!set vs でチェックするとパスが正しいことが示されます。パスを直接追加しようとしても、役に立たないようです。私はMatlabとmatlabフォーラムの大規模なトロールについてほとんど考えておらず、提案を試みても役に立ちません。手がかりはありますか?

4

2 に答える 2

5

パスを直接追加した場所にはしませんが、cl.exe があるパスを次の場所に追加してみてください。

マイ コンピュータ -> プロパティ -> 詳細設定 -> 環境変数 -> システム変数 -> PATH

コマンド プロンプトを開き (実行 -> cmd.exe)、"set PATH" (" を除く) と入力すると、正しいパスを見つけることができますか? cl.exe と入力するとどうなりますか。右の Visual Studio バージョン (つまり、 C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin )

于 2012-07-18T11:11:10.207 に答える
3

たぶん、次のような cl.bat/cl.cmd ファイルの作成のようなハック

@rem CL.CMD
@rem vcvars32 or vcvars64 depending on the OS
@rem Explicitly set the variables for VC
call "<YourVCDir>\Bin\VCVARS32.BAT"
@rem Pass all the parameters to the "real" cl.exe
cl.exe %*

役立つだろう ?

于 2012-07-18T11:02:21.120 に答える