我是靠谱客的博主 落寞飞机,最近开发中收集的这篇文章主要介绍运行fundus-fractal-analysis出现的问题-1一、电脑未安装VS:二、对于安装了VS的matlab来说:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

相关文献:06-Proliferative Diabetic Retinopathy Characterization based on Fractal Features: Evaluation on a Publicly Available Data Set

下载地址:https://www.researchgate.net/publication/320383130

 

运行fundus-fractal-analysis程序的时候,需要使用C++的编译器。

在MATLAB中mex -setup中推荐使用mingw,虽然能解决一部分问题,但是在运行下方代码时,会遇到找不到cl.exe的问题(如“一、”),所以直接安装VS。

run matlab/vl_compilenn

 

一、电脑未安装VS:

开始

程序出现了未安装MinGW-w64编译器的问题,然后我上网查找安装方法,解决了这个问题。

但是新的问题出现错误1,说是找不到cl.exe文件的位置,打开错误后,发现文件路径下并没有相关文件。

解决方法:安装VS或找到相应文件夹移动到目录中。

然后出现了错误2和错误3

原因是我在安装了MinGW-w64编译器后,又安装了VS2017的C++编译器,两个编译器在执行文件时发生了冲突。

解决方法:卸载MinGW-64编译器,或者把MATLAB卸了重装。

警告

警告: 目录已存在。 
> In dr_setup (line 4)
  In setup_fractal (line 53) 
警告: MatConvNet is not compiled. Consider running `vl_compilenn`. 
> In vl_setupnn (line 24)
  In dr_setup (line 68)
  In setup_fractal (line 53) 

错误1

'cl.exe' 不是内部或外部命令,也不是可运行的程序 
或批处理文件。 
错误使用 vl_compilenn>check_clpath (line 577)
Unable to find cl.exe

出错 vl_compilenn (line 400)
    check_clpath(); % check whether cl.exe in path

出错 dr_setup (line 78)
        vl_compilenn('EnableGpu',false);

出错 setup_fractal (line 53)
dr_setup

解决方法:

原因:没有在“指定路径”内找到CL.exe这个应用程序,把VS2017文件中的VC文件夹移动到指定路径中,但又出现错误2和错误3

ProgramData这个文件夹已经被隐藏,需要点击查看方式,勾选“隐藏的项目”。

文件移动

错误2:

错误使用 mex
C:Users15259DesktopDR1-fundus-fractal-analysis-masterexternalred-lesion-detectionexternalmatconvnet-mastermatlabsrcbitsimplimread_gdiplus.cpp:
In member function 'vl::Error
vl::ImageReader::Impl::readPixels(float*, const char*)':
C:Users15259DesktopDR1-fundus-fractal-analysis-masterexternalred-lesion-detectionexternalmatconvnet-mastermatlabsrcbitsimplimread_gdiplus.cpp:144:1:
error: jump to label 'done' [-fpermissive]
 done:
 ^
C:Users15259DesktopDR1-fundus-fractal-analysis-masterexternalred-lesion-detectionexternalmatconvnet-mastermatlabsrcbitsimplimread_gdiplus.cpp:83:10:
note:   from here
     goto done ;
          ^
C:Users15259DesktopDR1-fundus-fractal-analysis-masterexternalred-lesion-detectionexternalmatconvnet-mastermatlabsrcbitsimplimread_gdiplus.cpp:92:24:
note:   crosses initialization of 'Gdiplus::PixelFormat
targetPixelFormat'
   Gdiplus::PixelFormat targetPixelFormat =
   PixelFormat32bppRGB ;
                        ^
C:Users15259DesktopDR1-fundus-fractal-analysis-masterexternalred-lesion-detectionexternalmatconvnet-mastermatlabsrcbitsimplimread_gdiplus.cpp:90:9:
note:   crosses initialization of 'vl::Image image'
   Image image(shape, memory);
         ^


出错 vl_compilenn>mex_compile (line 510)
mex(mopts{:}) ;

出错 vl_compilenn (line 471)
    mex_compile(opts, srcs{i}, objfile, flags.mexcc) ;

出错 dr_setup (line 78)
        vl_compilenn('EnableGpu',false);

出错 setup_fractal (line 53)
dr_setup

错误3:

错误使用 mex
gcc: error: gdiplus.lib: No such file or directory
出错 vl_compilenn>mex_link (line 528)
mex(mopts{:}) ;
出错 vl_compilenn (line 479)
  mex_link(opts, objs, mex_dir, flags.mexlink) ;
出错 dr_setup (line 78)
        vl_compilenn('EnableGpu',false);
出错 setup_fractal (line 53)
dr_setup

 

二、对于安装了VS的matlab来说:

 

原因:在vl_compilenn文件中,指定路径的语句找不到cl.exe文件的位置,需要重新指定其位置。

原文链接:https://dyfloveslife.github.io/2019/03/05/compilienn-file/

在用Matlab中的 vl_compilenn 函数进行编译时,提示 ‘cl.exe’ 不是内部或外部命令,也不是可运行的程序 或批处理文件 的错误,现已找到解决办法,在这里记录下来。

vl_compilenn.m文件的存放位置:C:Users15259DocumentsMATLABAdd-OnsCollectionsvlfeat_matconvnetcodematlab

点击错误,打开 vl_compilenn.m 文件后,找到如下语句:

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

这是系统默认的位置,但是查看自己电脑的 cl.exe 不在这里,是在 D:vs2017VCToolsMSVC14.16.27023binHostx64x64 目录下,于是注释原语句,增加如下所示语句:

cl_path = fullfile(cc.Location, 'VC', 'Tools', 'MSVC', '14.16.27023', 'bin', 'Hostx64', 'x64');

更改完之后,再次执行 vl_compilenn 命令即可。

 

最后

以上就是落寞飞机为你收集整理的运行fundus-fractal-analysis出现的问题-1一、电脑未安装VS:二、对于安装了VS的matlab来说:的全部内容,希望文章能够帮你解决运行fundus-fractal-analysis出现的问题-1一、电脑未安装VS:二、对于安装了VS的matlab来说:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部