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

OpenCV4编译createsamples.cpp出现FileStorage类报错如何解决

OpenCV4编译createsamples.cpp报错修复方案

报错根因

所有FileStorage、FileNode未定义的报错,核心是两个问题:

  1. OpenCV4将持久化相关的类定义从core.hpp拆分到了独立的persistence.hpp头文件,开源仓库里的旧版createsamples.cpp没有适配这个头文件结构变动
  2. 直接使用裸g++命令单文件编译,没有引入OpenCV的头文件路径、编译参数和依赖库,导致依赖链断裂

修复步骤

  • 第一步:修改createsamples.cpp的头文件引用,在#include <opencv2/core.hpp>这行之前,新增一行代码:
#include <opencv2/core/persistence.hpp>
  • 第二步:使用pkg-config自动加载OpenCV4的编译参数执行编译,不要手动写g++参数,完整命令如下:
g++ createsamples.cpp -o createsamples `pkg-config --cflags --libs opencv4`

如果执行命令时提示找不到opencv4的配置,先安装对应系统的OpenCV4开发包,Debian/Ubuntu系系统可执行sudo apt install libopencv-dev。

  • 第三步:编译完成后将生成的可执行文件移动到系统全局路径,即可正常调用:
sudo mv createsamples /usr/local/bin/

内容的提问来源于stack exchange,提问作者Harry Hobson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 04:36:05