You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux下使用Conan构建OpenCV程序失败问题求助

解决Conan安装OpenCV后CMake找不到opencv_video组件的问题

问题背景

使用Conan 2.12.2在Ubuntu 20.04.6 LTS上构建依赖OpenCV 4.10.0的项目,已在conanfile.txt中开启ffmpeg、gstreamer等选项,Conan Host/Build配置为gcc9、gnu14。执行conan install后运行CMake报错:

CMake Error at build/cmakedeps_macros.cmake:66 (message):
Library 'opencv_video' not found in package. If 'opencv_video' is a system
library, declare it with 'cpp_info.system_libs' property

CMakeLists.txt中指定查找并链接OpenCV的core、imgproc、highgui、video组件。

解决方案

1. 确认OpenCV包是否包含video组件

先检查Conan中心的opencv/4.10.0包是否提供video组件:

conan inspect opencv/4.10.0 -r conancenter | grep -A 20 "components"

如果输出中没有video或opencv_video相关条目,说明需要调整Conan选项强制启用该模块。

2. 修正conanfile.txt的OpenCV编译选项

在conanfile.txt中添加明确启用video模块的选项,确保编译时包含该组件:

[requires]
opencv/4.10.0

[options]
opencv/4.10.0:ffmpeg=True
opencv/4.10.0:gstreamer=True
opencv/4.10.0:video=True
opencv/4.10.0:opencv_video=True
opencv/4.10.0:build_videoio=True  # 部分版本需开启此选项以支持video相关功能

然后重新编译安装OpenCV(强制覆盖旧缓存):

conan remove opencv/4.10.0 -f
rm -rf build/
conan install . --profile:host=your_host_profile --profile:build=your_build_profile --build=opencv

3. 修正CMakeLists.txt的链接写法

使用现代CMake的目标链接方式,避免依赖旧的${OpenCV_LIBS}变量:

cmake_minimum_required(VERSION 3.16)
project(your_project_name)

find_package(OpenCV REQUIRED COMPONENTS core imgproc highgui video)

add_executable(your_app main.cpp)
target_link_libraries(your_app PRIVATE
    OpenCV::core
    OpenCV::imgproc
    OpenCV::highgui
    OpenCV::video
)

4. 检查Conan Profile配置

确保Host和Build Profile的编译器配置正确,示例profile文件(如~/.conan2/profiles/gcc9)内容:

[settings]
os=Linux
compiler=gcc
compiler.version=9
compiler.cppstd=gnu14
compiler.libcxx=libstdc++11

安装时指定profile:

conan install . --profile:host=gcc9 --profile:build=gcc9 --build=opencv

5. 验证本地缓存的OpenCV包

进入Conan缓存的opencv包目录(路径类似~/.conan2/p/opencv/xxxxxxxx/presets),查看生成的CMake配置文件,确认存在OpenCVVideoTargets.cmake或类似文件,确保组件信息已正确生成。

内容的提问来源于stack exchange,提问作者Karim Dhrif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 06:16:14