4

VLFeat から MatConvNet をインストールし、コンパイルしようとしています。しかし、実行しようとするvl_compilennと、次のエラーが表示されます。

vl_compilenn
Warning: CL.EXE not found in PATH. Trying to guess out of mex setup. 
> In vl_compilenn>check_clpath (line 580)
  In vl_compilenn (line 413) 
'cl.exe' is not recognized as an internal or external command, 
operable program or batch file. 
Error using vl_compilenn>check_clpath (line 591)
Unable to find cl.exe

Error in vl_compilenn (line 413)
    check_clpath(); % check whether cl.exe in path
4

6 に答える 6

4

Visual Studio コミュニティ エディションをインストールします (無料版です) (minwg コンパイラは動作しません) C:\Program Files (x86)\Microsoft Visual Studio に移動し、cl.exe を検索します。 matconvnet インストールを含むフォルダー mex -setup c++​​ を実行し、それを Visual Studio に設定すると、準備完了です

于 2017-11-03T19:37:39.457 に答える
2

残念ながら、MatConvNet は現在のバージョンの MinGW コンパイラをサポートしていません。Windows では、Microsoft Visual Studio をインストールする必要があります。現在、コミュニティ エディションを無料でダウンロードできます (例:ここ) 。

MatConvNet が MinGW をサポートしない理由の 1 つは、Windows では GDI+ ライブラリを使用して画像ファイルの読み取りを高速化するためです。次を使用してコンパイルを試みることができます。 vl_compilenn('EnableImreadJpeg', false)

于 2016-11-18T14:14:18.617 に答える
2

システムの PATH 変数にディレクトリを追加しcl.exe(操作後に Matlab を再起動する必要があります)、コンパイルは成功しました。check_clpath()関数は、存在しないディレクトリで実行可能ファイルを検索しようとしたため、 の適切な場所を見つけることができませcl.exeんでした:

cl_path =

'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\bin\amd64'

cl.exe私の場合、dirをPATH変数に追加した後:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64

コンパイルは成功しました。

于 2019-04-10T06:25:29.277 に答える
2

MatLab フォーラムの投稿の 1 つで見つけたように、Matlab は Visual Studio Compiler の Professional バージョンを受け入れます。

以下はより簡単な解決策です。

addpath(fullfile('C:', 'Program Files (x86)', 'Microsoft Visual Studio', '2017', 'Professional', 'VC', 'Tools', 'MSVC', '14.16.27023', 'bin', 'Hostx64', 'x64'));

参照用の Matlab 投稿: https://se.mathworks.com/matlabcentral/answers/271382-mex-won-t-recognize-microsoft-visual-c-compilers

于 2020-02-12T06:30:16.127 に答える