如何在使用vcpkg时包含OpenCV的cv::VideoWriter?

您所在的位置:网站首页 电脑丢失opencv_core249dll 如何在使用vcpkg时包含OpenCV的cv::VideoWriter?

如何在使用vcpkg时包含OpenCV的cv::VideoWriter?

2023-05-04 20:07| 来源: 网络整理| 查看: 265

我使用vcpkg在Windows上安装OpenCV4。但是,当我试图链接我的应用程序时,我使用的OpenCV类之一给我带来了麻烦:

2>main.obj : error LNK2019: unresolved external symbol "public: __cdecl cv::VideoWriter::VideoWriter(void)" (??0VideoWriter@cv@@QEAA@XZ) referenced in function main 2>main.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl cv::VideoWriter::~VideoWriter(void)" (??1VideoWriter@cv@@UEAA@XZ) referenced in function main 2>main.obj : error LNK2019: unresolved external symbol "public: virtual bool __cdecl cv::VideoWriter::open(class std::basic_string const &,int,double,class cv::Size_,bool)" (?open@VideoWriter@cv@@UEAA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HNV?$Size_@H@2@_N@Z) referenced in function main

所以我想我需要启用一个非默认的功能。OpenCV最初是这样安装的:

vcpkg install --triplet x64-windows-static-md opencv4

默认情况下,这似乎安装了[dnn,jpeg,opengl,png,tiff,webp]。

我还尝试添加了更多的可选特性,包括:

vcpkg install --triplet x64-windows-static-md opencv4[core,jpeg,opengl,png,tiff,webp,ffmpeg,openmp]

输出:

...cut... The package opencv4:x64-windows-static-md provides CMake targets: find_package(OpenCV CONFIG REQUIRED) # Note: 14 target(s) were omitted. target_link_libraries(main PRIVATE quirc opencv_ml libprotobuf opencv_core)

在调用cmake创建项目时,我使用vcpkg工具链文件。我的CMakeLists.txt文件的相关部分按照vcpkg的指示包含以下内容:

FIND_PACKAGE(OpenCV CONFIG REQUIRED) INCLUDE_DIRECTORIES ( BEFORE ${OpenCV_INCLUDE_DIRS} ) ADD_EXECUTABLE ( mytest main.cpp ) TARGET_LINK_LIBRARIES ( mytest PRIVATE quirc opencv_ml libprotobuf opencv_core )

部分问题是vcpkg ports/opencv4/control文件包含了大约20个可选特性,并且这些描述几乎毫无用处。

我的问题:

任何人都知道访问cv::VideoWriter类需要什么vcpkg特性,或者在代码中查找什么,这样我就可以知道需要哪些可选特性了?



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3