OpenCV 3.x only contains one lib - opencv_world.lib?

柔情痞子 提交于 2019-11-27 02:36:22

问题


I'm trying to update my OpenCV version from 2.4.9 to the newest version, 3.10. I downloaded the Windows binary from here, having navigated there from the official OpenCV site. I then ran the installer, but the opencv\build\x64\vc12\lib directory only contained a couple files:

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

In the past editions though, this directory used to contain the required libraries, like opencv_calib3d249d.lib, opencv_contrib249d.lib, opencv_core249d.lib, etc.

I imagine there's something I need to do with CMake, but I can't seem to figure it out--the old binaries used to compile everything for you. I also can't find anything in the documentation explaining this. Has anyone else come across this recently and have a solution?


回答1:


By default, the binary version of OpenCV-3.x doesn't contain the separate libs like opencv_core.lib. Instead, these modules are integrated in opencv_world.lib, so you only need to link to it.

On the other hand, if you do want separate libs, i.e. uniform APIs with OpenCV-2.x, you can build it yourself using CMake by enable the libs that you want. Like

This will generate opencv_core.lib.




回答2:


Or run cmake with -D BUILD_opencv_world=OFF key



来源:https://stackoverflow.com/questions/34867289/opencv-3-x-only-contains-one-lib-opencv-world-lib

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!