在 vl-feat 中运行 vl_compile 时出现 Mex 错误
Posted
技术标签:
【中文标题】在 vl-feat 中运行 vl_compile 时出现 Mex 错误【英文标题】:Mex error while running vl_compile in vl-feat 【发布时间】:2016-10-17 07:05:17 【问题描述】:我最近在 matlab 中尝试了 vl-feat。当我尝试编译 vl_compile 时出现以下错误
Error using mex C:\Users\NAME\AppData\Local\Temp\mex_25970338003646_3984\vl_covdet.obj:vl_covdet.c:(.rdata$.refptr.vlCovdetMethods[.refptr.vlCovdetMethods]+0x0): undefined reference to `vlCovdetMethods'
collect2.exe: error: ld returned 1 exit status
Error in vl_compile (line 140)
mex(cmd:) ;
如果有人能指导我如何解决这个问题,那将非常有帮助。
谢谢。
【问题讨论】:
【参考方案1】:如果问题是,VL_FEAT 不适用于 Windows 上的 matlab。
无需编译(仅 matlab 设置),Matlab 中的 vl_sift 告诉我:“... vcomp100.dll 需要 ...”。 我尝试正确重新编译并得到与问题中发布的相同的错误消息。
最后重新编译对我不起作用。这是有效的:
我查看了C:\Windows\System32,发现存在vcomp120.dll和vcomp140.dll。我只是复制了 vcomp120.dll 并将其重命名为 vcomp100.dll。
然后无需编译(仅 matlab 设置),vl_sift 在 matlab 中工作。
【讨论】:
我曾尝试使用 matlab 工具箱安装 Mingw-w64 编译器,但失败了。然后你的建议拯救了我的一天。以上是关于在 vl-feat 中运行 vl_compile 时出现 Mex 错误的主要内容,如果未能解决你的问题,请参考以下文章
在 spyder IDE 中,运行选择工作正常,运行文件保持运行/挂起