OpenCV 3.x只包含​​一个lib - opencv_world.lib?

mar*_*man 20 c++ opencv cmake opencv3.0

我正在尝试将我的OpenCV版本从2.4.9更新到最新版本3.10.我从这里下载了Windows二进制文件,从官方OpenCV站点导航到那里.然后我运行了安装程序,但该opencv\build\x64\vc12\lib目录只包含几个文件:

  • opencv_world310.lib
  • opencv_world310d.lib
  • OpenCVConfig.cmake
  • OpenCVModules.cmake
  • OpenCVModules-debug.cmake
  • OpenCVModules-release.cmake

在过去的版本中,此目录用于包含所需的库,如opencv_calib3d249d.lib,opencv_contrib249d.lib,opencv_core249d.lib等.

我想有一些我需要用CMake做的事情,但我似乎无法弄清楚 - 旧的二进制文件用于为你编译一切.我也在文档中找不到任何解释这个的东西.最近有没有其他人遇到这个并有解决方案?

her*_*tao 22

默认情况下,OpenCV-3.x的二进制版本不包含单独的库opencv_core.lib.相反,这些模块是集成的opencv_world.lib,因此您只需要链接到它.

另一方面,如果您确实需要单独的库,即使用OpenCV-2.x的统一API,您可以使用CMake自己构建它,方法是启用您想要的库.喜欢

在此输入图像描述

这将产生opencv_core.lib.

  • 这样做的好处是,只需包含您需要的OpenCV库,就可以减小整体包的大小.虽然不确定这个时代有多少重点...... (3认同)