【问题标题】:How can I compile the vlfeat and mexopencv libraries in MATLAB using the Visual c++ compiler?如何使用 Visual c++ 编译器在 MATLAB 中编译 vlfeat 和 mexopencv 库?
【发布时间】:2015-01-11 16:38:20
【问题描述】:

我正在做一个计算机视觉项目,我需要使用 vlfeatmexopencv 库, 我正在使用 MATLAB R2008a,我无法更改 MATLAB 编译器来编译和设置库。

我已经安装了 Microsoft Visual C++ Express,但我不知道如何使用 MATLAB 中的 Visual C++ 编译器编译库。

【问题讨论】:

  • 你不能改变编译器是什么意思?你试过mex -setup吗?此外,Visual C++ express 应该可以正常工作。我已经安装它以使用 Microsoft 的 C++ 编译器。
  • 是的,我无法更改编译器以便编译和运行库函数,我尝试过 mex -setup ,但它没有显示除 lcc 之外的任何编译器,我也无法使用它
  • 我想我知道它为什么不起作用。请看我的回答。

标签: c++ matlab computer-vision vlfeat


【解决方案1】:

找不到编译器的原因是因为您使用的是MATLAB R2008a。您下载的 C++ 编译器可能太新 MATLAB 无法使用。我的猜测是您使用的是 Express 2013。请参阅以下链接,了解 R2008a 可以在此处支持的 MEX 编译器:

http://www.mathworks.com/support/compilers/release2008a/

具体来说,对于 Visual C++ 编译器的 Express 版本,它最多只能支持 8.0 版本。您很可能使用比 8.0更新的 Express 版本。因此,在 R2008a 中使用 Visual C++ 编译器的唯一方法是下载并安装 8.0 Express 版本。

您可以在此处找到该编译器:http://go.microsoft.com/fwlink/?LinkId=51410&clcid=0x409

安装 Visual C++ 编译器后,还需要安装 SDK。你可以在这里找到:

http://www.microsoft.com/en-ca/download/details.aspx?id=6510

完成此操作后,您需要定义MSSdk 环境变量。去做这个, 转到Control Panel -> System,然后转到AdvancedEnvironment Variables。之后,创建一个名为 MSSdk 的新变量,其值是您安装 SDK 的路径。例如:C:\Program Files\Microsoft Platform SDK for Windows Server 2003

祝你好运!

【讨论】:

  • 感谢您的友好回答,是的,我正在使用 MS visual c++ 2010 Express,无论如何我都会尝试按照您的话进行
  • @Barq - 是的。 MATLAB R2008a 不支持 2010 .... 有道理吗?尝试在上面的链接中下载该编译器,安装它,并让我知道它是否有效。祝你好运!
  • 我已经从您的链接安装了 MS v c++2005,现在它作为编译器出现在 matlab 中,当我运行 mex -setup 命令时可以选择它,但它显示错误错误:Microsoft 平台未找到软件开发工具包 (SDK)。 Microsoft Visual C++ 2005 Express Edition 要求正确安装 SDK。 MEX 使用环境变量“MSSdk”来查找 SDK。如果安装正确,请确认环境变量“MSSdk”指向正确的位置。否则,请安装 SDK 并重试。
  • @Barq - 啊!我忘了提到你还需要 SDK:microsoft.com/en-us/download/details.aspx?id=8279 - 我会更新我的帖子。
  • @Barq - 完成。您还需要执行两个步骤。让我知道它是否有效!
猜你喜欢
  • 2015-07-25
  • 2013-11-15
  • 2014-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-08
相关资源
最近更新 更多