web-dev-qa-db-fra.com

OpenCV 3.x ne contient qu'une seule lib - opencv_world.lib?

J'essaie de mettre à jour ma version OpenCV de 2.4.9 vers la dernière version, 3.10. J'ai téléchargé le binaire Windows depuis ici , après y avoir navigué depuis le site officiel d'OpenCV. J'ai ensuite exécuté le programme d'installation, mais le répertoire opencv\build\x64\vc12\lib Ne contenait que quelques fichiers:

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

Dans les éditions précédentes cependant, ce répertoire contenait les bibliothèques requises, comme opencv_calib3d249d.lib, opencv_contrib249d.lib, opencv_core249d.lib, etc.

J'imagine qu'il y a quelque chose que je dois faire avec CMake, mais je n'arrive pas à le comprendre - les anciens binaires utilisés pour tout compiler pour vous. Je ne trouve également rien dans la documentation expliquant cela. Quelqu'un d'autre est-il récemment tombé sur cette question et a-t-il trouvé une solution?

20
marcman

Par défaut, la version binaire d'OpenCV-3.x ne contient pas les bibliothèques séparées comme opencv_core.lib. Au lieu de cela, ces modules sont intégrés dans opencv_world.lib, il vous suffit donc de vous y connecter.

D'un autre côté, si vous voulez des bibliothèques séparées, c'est-à-dire des API uniformes avec OpenCV-2.x, vous pouvez le construire vous-même en utilisant CMake en activant les bibliothèques que vous voulez. Comme

enter image description here

Cela générera opencv_core.lib.

21
herohuyongtao

Ou exécutez cmake avec -D BUILD_opencv_world=OFF clé

0
banderlog013