OpenCV编译时出现的非错误提示是否需要处理?
编译OpenCV时依赖缺失提示的处理建议
编译日志(中文翻译版)
找到 OpenEXR: /usr/lib/x86_64-linux-gnu/libIlmImf.so -- 检查模块 'gtk+-3.0' -- 找到 gtk+-3.0,版本 3.22.30 -- 检查模块 'gthread-2.0' -- 找到 gthread-2.0,版本 2.56.4 -- 检查模块 'gstreamer-base-1.0' -- 未找到包 'gstreamer-base-1.0' -- 检查模块 'gstreamer-video-1.0' -- 未找到包 'gstreamer-video-1.0' -- 检查模块 'gstreamer-app-1.0' -- 未找到包 'gstreamer-app-1.0' -- 检查模块 'gstreamer-riff-1.0' -- 未找到包 'gstreamer-riff-1.0' -- 检查模块 'gstreamer-pbutils-1.0' -- 未找到包 'gstreamer-pbutils-1.0' -- 检查模块 'gstreamer-base-0.10' -- 未找到包 'gstreamer-base-0.10' -- 检查模块 'gstreamer-video-0.10' -- 未找到包 'gstreamer-video-0.10' -- 检查模块 'gstreamer-app-0.10' -- 未找到包 'gstreamer-app-0.10' -- 检查模块 'gstreamer-riff-0.10' -- 未找到包 'gstreamer-riff-0.10' -- 检查模块 'gstreamer-pbutils-0.10' -- 未找到包 'gstreamer-pbutils-0.10' -- 检查模块 'libdc1394-2' -- 找到 libdc1394-2,版本 2.2.5 -- 查找 linux/videodev.h -- 查找 linux/videodev.h - 未找到 -- 查找 linux/videodev2.h ***** ***** -- 未找到 OpenBLAS 头文件。将 OpenBLAS_FOUND 设置为关闭 -- 未找到 OpenBLAS 库。将 OpenBLAS_FOUND 设置为关闭 -- 未找到 Atlas(缺失:Atlas_CLAPACK_INCLUDE_DIR) -- 查找 dgemm_ -- 查找 dgemm_ - 找到 -- 查找 pthread.h -- 查找 pthread.h - 找到 ******** ******** - 导入目标 "vtkRenderingPythonTkWidgets" 引用文件 "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so" 但该文件不存在。可能的原因包括: * 文件已被删除、重命名或移动到其他位置。 * 安装或卸载过程未成功完成。 * 安装包有问题,包含了 "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake" 但未包含其引用的所有文件。 ********** -- -- 配置完成 -- 生成完成 -- 构建文件已写入:/home/timothy/Documents/opencv-3.4.1/build
处理建议
这些提示本质是CMake检测可选依赖库时的结果,不是编译错误,是否需要解决完全取决于你对OpenCV功能的需求:
GStreamer相关缺失提示:GStreamer是OpenCV处理流媒体、视频编解码的后端依赖。没找到对应包时,OpenCV会自动禁用GStreamer相关功能。如果不需要用OpenCV读取/写入GStreamer管道视频、处理流媒体,完全可以忽略;若需要对应功能,安装GStreamer的开发包即可(如
gstreamer1.0-plugins-base-dev)。OpenBLAS/Atlas缺失提示:这两个是高性能线性代数库,能加速OpenCV矩阵运算。没找到的话,OpenCV会自动使用系统自带的基础线性代数库(日志显示
找到 dgemm_,说明基础库已就绪)。普通场景下无需处理;若对运算速度要求极高(如实时图像处理、机器学习推理),可以安装对应开发包提升性能。VTK相关警告:该提示是VTK的Python GUI组件文件缺失,仅影响OpenCV与VTK结合的可视化功能。如果不需要用VTK渲染显示OpenCV处理后的图像,直接忽略;若需要对应功能,重新安装完整的VTK开发包即可。
总结
只要编译最终完成且无报错,当前生成的OpenCV就能满足基础使用需求。只有当后续遇到特定功能缺失(如无法处理GStreamer视频、运算速度不达预期)时,再针对性安装依赖并重新编译即可。
内容的提问来源于stack exchange,提问作者wolfcan
相关产品推荐
相关产品推荐

