博客
关于我
qt编译error: ‘opencv2/core/core.hpp‘ file not found
阅读量:630 次
发布时间:2019-03-11

本文共 1393 字,大约阅读时间需要 4 分钟。

在使用 Qt 项目编译 OpenCV 应用的过程中,如果遇到qt编译error: ‘opencv2/core/core.hpp’ file not found错误,可能是因为项目配置中未正确添加 OpenCV 的头文件路径或链接库路径。以下是解决问题的详细指南:

  • 确认 OpenCV 安装目录

    确保 OpenCV 已经正确安装。按照你的 OpenCV 安装指南,将 OpenCV 安装到一个自定义目录,如 D:/installed/OpenCV/,然后记录该路径。

  • 检查 Qt 项目配置文件

    打开你的 Qt 项目配置文件(通常是 your_project.pro),在 INCLUDEPATHLIBS 部分添加 OpenCV 的头文件和库文件路径。

    INCLUDEPATH += \ 
    $$ROOT_DIR/installed/opencv/include/opencv \
    $$ROOT_DIR/installed/opencv/include/opencv2 \
    LIBS += \
    $$ROOT_DIR/installed/opencv/lib/opencv*.a
  • 验证路径是否正确

    确认 D:/Opencv420/opencv420_build/install 是否包含 includelib 目录,并且这些目录下确实有对应的文件和库。例如,验证 core.hpp 存在于 include/opencv2/core/core.hpp

  • 尝试用相对路径引用

    在 Qt 项目配置中,如果使用相对路径,记得替换为从项目根目录到 OpenCV 安装目录的相对路径。

  • 更新 Qt 环境变量

    在 Qt 项目的qmake 命令行参数中,添加 OpenCV 的头文件路径,如:

    qmake -D INCLUDEPATH="$$ROOT_DIR/installed/opencv/include/opencv;$$ROOT_DIR/installed/opencv/include/opencv2"
  • 检查 Qt 工作区设置

    在 Qt Creator 中的项目菜单,选择“项目 Settings(QT 工作区设置)”,在“Paths”中添加必要的包含路径和库文件路径。

  • 重新生成项目

    保存配置后,选择“项目”菜单中的“重新生成”按钮,Qt 会重新评估配置,并生成编译所需的 Makefile。

  • 检查编译输出

    重新编译后,观察输出的编译器日志,确认是否仍然出现找不到 core.hpp 的错误。如果错误依旧,可能导致的问题包括:

    • OpenCV 未正确安装或 path 错误
    • 项目配置文件中的路径错误
    • Qt 和 CMake 的环境路径设置不当
    • 环境变量上,不兼容现有配置
  • 故障排除法

    尝试精简问题,例如:

    • 更新 Qt 到最新版本,确保兼容当前的 OpenCV 版本
    • 启动错误提示工具,如 Qt 二维建造工具,来检查特定项目的配置依赖
    • 打开 Qt 的构建输出器查看详细日志,定位问题到具体的文件和行
    • 检查是否混用了不同的 OpenCV 版本,或者在 Qt 项目中用了多个 OpencvConfig 可选项
  • 通过以上步骤,应该能够解决 OpenCV 配置中的路径问题。如问题依旧,可以联系相关的 Qt 开发社区或 OpenCV论坛,获取进一步的技术支持。

    转载地址:http://lywtz.baihongyu.com/

    你可能感兴趣的文章
    MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
    查看>>
    MySQL 数据库的高可用性分析
    查看>>
    MySQL 数据库设计总结
    查看>>
    Mysql 数据库重置ID排序
    查看>>
    Mysql 数据类型一日期
    查看>>
    MySQL 数据类型和属性
    查看>>
    mysql 敲错命令 想取消怎么办?
    查看>>
    Mysql 整形列的字节与存储范围
    查看>>
    mysql 断电数据损坏,无法启动
    查看>>
    MySQL 日期时间类型的选择
    查看>>
    Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
    查看>>
    MySQL 是如何加锁的?
    查看>>
    MySQL 是怎样运行的 - InnoDB数据页结构
    查看>>
    mysql 更新子表_mysql 在update中实现子查询的方式
    查看>>
    MySQL 有什么优点?
    查看>>
    mysql 权限整理记录
    查看>>
    mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
    查看>>
    MYSQL 查看最大连接数和修改最大连接数
    查看>>
    MySQL 查看有哪些表
    查看>>
    mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
    查看>>