在 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 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在cmd中运行perl

在 spyder IDE 中,运行选择工作正常,运行文件保持运行/挂起

在 php 中运行仅在尚未运行时才运行的连续循环的最佳方法是啥?

安装程序不能在dos中运行

在运行时配置中找不到env:13

grails 2.0 - 在 Jetty 中运行,在 Tomcat 中运行