Hur installerar man OpenCV via Vcpkg?

Permalänk

Hur installerar man OpenCV via Vcpkg?

Jag har installerat OpenCV via Vcpkg.

vcpkg install opencv

Då fick jag löjande

opencv4:x64-windows 4.10.0#1 computer vision library opencv4[calib3d]:x64-windows calib3d module opencv4[default-features]:x64-windows Platform-dependent default features opencv4[dnn]:x64-windows Enable dnn module opencv4[dshow]:x64-windows Enable DirectShow opencv4[fs]:x64-windows Enable filesystem support opencv4[gapi]:x64-windows Enable gapi module opencv4[highgui]:x64-windows highgui module opencv4[intrinsics]:x64-windows Enable intrinsics opencv4[jpeg]:x64-windows JPEG support for opencv opencv4[png]:x64-windows PNG support for opencv opencv4[quirc]:x64-windows Enable QR code module opencv4[thread]:x64-windows Enable thread support opencv4[tiff]:x64-windows TIFF support for opencv opencv4[webp]:x64-windows WebP support for opencv opencv4[win32ui]:x64-windows Enable win32ui opencv:x64-windows 4.10.0 computer vision library opencv[default-features]:x64-windows Platform-dependent default features

Men när jag inkluderar

#include <opencv4/opencv2/core.hpp>

Då får jag ett problem med följande

cv::VideoCapture cap;

Det den säger är att namespace cv har ingen medlem VideoCapture.
Tittar jag i core.hpp så kan jag se att min IDE kan inte hitta dessa header-filer. Den säger "cannot find source file ...." och sedan namn på .h filen och .hpp filen.

#ifndef OPENCV_CORE_HPP #define OPENCV_CORE_HPP #ifndef __cplusplus # error core.hpp header must be compiled as C++ #endif #include "opencv2/core/cvdef.h" #include "opencv2/core/base.hpp" #include "opencv2/core/cvstd.hpp" #include "opencv2/core/traits.hpp" #include "opencv2/core/matx.hpp" #include "opencv2/core/types.hpp" #include "opencv2/core/mat.hpp" #include "opencv2/core/persistence.hpp" /** @defgroup core Core functionality @{

Fråga:
Notera att jag använder <> när jag inkluderar headerfilerna från OpenCV version 4. Men hos dessa headerfiler så inkluderar dom med "", vilket betyder intern inkludering. Tydligen så finns dessa filer i min sökväg

C:\....\GitHub\vcpkg\installed\x64-windows\include\opencv4\opencv2

Men varför känner min Visual Studio 2022 IDE inte utav dessa OpenCV filer? Jag har ju installerat Vcpkg och Vcpkg fungerar utmärkt för t.ex. ImGui eller Boost för C++.

Permalänk

Uppenbarligen så verkar det vara ett känt problem med OpenCV för Vcpkg.
Så om jag installerar OpenCV manuellt.

Då går jag till https://opencv.org/releases/ och laddar ned kompilerade för Windows. Där efter så kopierar jag in hela buildmappen, som finns i det man laddar ned från OpenCV. Jag placerar buildmappen i mitt projekt och sedan länkar jag till följande headers och .lib.

Additional includes: C:\Users\<USER>\Documents\GitHub\GoobySoft\GoobySoft\Tools\Software\Libraries\OpenCV\windows\include Additional libraries: C:\Users\<USER>\Documents\GitHub\GoobySoft\GoobySoft\Tools\Software\Libraries\OpenCV\windows\x64\vc16\lib

Men jag får fortfarande LINK2019 problem att den hittar inte .lib filerna....Ska det verkligen vara så svårt att installera OpenCV?

Permalänk
Hedersmedlem
Skrivet av heretic16:

Men jag får fortfarande LINK2019 problem att den hittar inte .lib filerna....Ska det verkligen vara så svårt att installera OpenCV?

Specificerar du vilka lib-filer som skall användas? Man kan också aktivera utökade utskrifter från länkningen (så kan man se exakt vilka sökvägar den letar i).

Permalänk
Medlem

Lib filerna från https://opencv.org/releases/ är kompilerade med/för Visual Studio 2019 så för att få det att fungera i vs 2022 behöver du justera c++ kompilator/linker inställningarna så det matchar med lib versionen eller bygg egna opencv lib filer från kod själv.