【问题标题】:CMake doesn't compile OpenCVCMake 不编译 OpenCV
【发布时间】:2014-02-11 05:10:46
【问题描述】:

AFAIK,CMake 是一种用于自动构建的工具,所以我对 CMake 的期望是“制作”整个事情,即,当我点击“生成”时,它将创建所有文件并编译它们,所以我将拥有我需要的一切。

但是当我在 OpenCV 上运行 CMake 时,它​​会生成一个 VS2010 解决方案和许多项目,然后我必须在 VS2010 中打开它,然后自己编译项目......为什么 CMake 不能一次完成所有工作手术?我认为它有能力这样做对吗?那为什么不呢?

编辑:

在this link 中,他们展示了这是常规方式。

【问题讨论】:

  • 我不在 Windows 机器上,所以目前无法亲自尝试,但在某些情况下,您必须调用 cmake 两次,有时使用不同的参数。一般第一次会生成一堆build相关的文件,第二次会真正执行build。如果该项目有自述文件,它应该解释要运行的命令(如果可能的话)。对于某些实际构建,您可能还需要在 Visual Studio 命令提示符内运行。
  • 看看这个:docs.opencv.org/doc/tutorials/introduction/windows_install/… 他们甚至说是这样......
  • 当我点击“配置”时,CMake 会生成大量文件,当我点击“构建”时,它会生成 VS2010 解决方案和项目
  • 完全没问题。之后,单击 opencv.sln 文件,并编译所有生成的项目。最后一步是:运行 INSTALL 项目,将 libs/headers/dlls 复制到您的最终目的地
  • 感谢 berak,我已经完成了 :) 我只是认为 CMake 可以一次完成所有工作..

标签: c++ visual-studio-2010 opencv cmake


【解决方案1】:

看看CMake page:

“CMake 用于使用简单的平台和编译器独立配置文件来控制软件编译过程。CMake 生成可在您选择的编译器环境中使用的本机 makefile 和工作区。”

在 OpenCV 网站上,您可以找到 complete guide 以在您的 Windows 机器上安装

【讨论】:

  • 是的,这就是我正在寻找的教程,但 CMake 也不能只调用编译器并构建它,从而为我节省更多步骤吗?
  • 不,它不能......如果你想自动化这个过程,你应该看看 MSBuild 工具
  • 那么,使用它的真正好处是什么?只需下载一些代码并将其全部添加到您选择的 IDE 中,从而节省您配置它的时间吗?
  • 这是主要原因……也是一个非常重要的原因!
猜你喜欢
  • 2016-08-05
  • 2020-07-31
  • 1970-01-01
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
  • 1970-01-01
  • 2017-06-14
  • 1970-01-01
相关资源
最近更新 更多