matlab 错误:未找到页面

aurhwmvo  于 2023-03-19  发布在  Matlab
关注(0)|答案(7)|浏览(127)

我已经从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
3pvhb19x

3pvhb19x1#

安装visual studio community edition(它是免费版)(minwg编译器将无法工作)转到C:\Program Files(x86)\Microsoft Visual Studio搜索cl.exe选择一个适合您的计算机体系结构的文件并将其复制到包含matconvnet安装的文件夹中运行mex -setup c++并将其设置为visual studio,然后就可以开始了

klr1opcd

klr1opcd2#

我已经将cl.exe所在的目录添加到系统PATH变量中(在此操作后需要重新启动Matlab),编译成功。check_clpath()函数无法找到cl.exe的正确位置,因为它试图在不存在的目录中查找可执行文件:

cl_path =

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

cl.exe目录添加到PATH变量之后,在我的示例中:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
编译成功。

knsnq2tg

knsnq2tg3#

Matlab接受专业版的Visual Studio编译器,这是我在MatLab论坛上的一篇帖子中发现的。
下面是一个更简单的解决方案,

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

Matlab Post供参考:https://se.mathworks.com/matlabcentral/answers/271382-mex-won-t-recognize-microsoft-visual-c-compilers

hk8txs48

hk8txs484#

这对我很有效
1.从https://visualstudio.microsoft.com/es/downloads/安装社区Visual Studio 2019专业版
1.移动到安装程序放置Visual Studio的目录。在我的示例中为C:\Program Files(x86)\Microsoft Visual Studio\2019\Professional
1.找到适合您的主机和目标体系结构的cl.exe(x86/x64有四种组合)。在我的示例中,x64/x64导致C:\Program Files(x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64将路径放在您系统的环境变量中
1.在matlab中,移动到CF2-master\外部\matconvnet\matlab并执行vl_compilenn

qlckcl4x

qlckcl4x5#

遗憾的是MatConvNet当前版本不支持MinGW编译器。在Windows上,您需要安装Microsoft Visual Studio。现在您可以免费下载社区版,例如here
MatConvNet不支持MinGW的原因之一是它在Windows上使用GDI+库来加快阅读图像文件的速度。您可以尝试使用以下命令编译它:vl_compilenn('EnableImreadJpeg', false)

cvxl0en2

cvxl0en26#

cl.exe是一个C编译器。
此消息意味着程序在您的计算机上找不到此文件(可能是因为它实际上不存在,也可能是因为您没有指明它的位置)。
如果你确实有一个C
编译器,并且使用Windows,那么进入你的PC的属性-〉高级设置-〉环境变量(抱歉,如果姓名不准确,我的计算机是法语的,但应该是类似的...)。2这里你会有一个叫做PATH的字段,很可能已经设置了一些路径。3通过添加你的C编译器的路径来修改它(包含cl.exe的文件夹)并重新启动计算机(否则不会考虑您的更改)。
我不知道如何做其他操作系统...
否则,你需要下载一个C
编译器。VisualStudio是免费的,并且有一个。

bvk5enib

bvk5enib7#

我也有同样的问题,这是因为我改变了安装位置的MS VS
我只是在vl_compilenn.m中添加了它的路径(在第646行之后)

% cl_path = fullfile(cc.Location, 'VC', 'bin', 'amd64');

cl_path = 'E:\WorkingSoftware\VS2017Enterprise\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64';

相关问题