【问题标题】:Qt creator 5.0.1 with OpenCv 2.3.4 on windows [closed]Qt creator 5.0.1 和 Windows 上的 OpenCv 2.3.4 [关闭]
【发布时间】:2013-02-17 08:10:00
【问题描述】:

我已经寻找了好几天的好指南,但我找不到最新版本的 Qt 和 OpenCv。我听说他们都很好,所以我想和他们一起做一个项目。我是 Qt 和 OpenCv 的初学者,你能一步一步告诉我吗?

【问题讨论】:

    标签: qt opencv cmake qt5


    【解决方案1】:

    我已经为此苦苦挣扎了很长一段时间,今天早上让它工作了。我想我会通过发布我的发现来回馈这个美妙的社区(因为它在许多场合都帮助了我)。享受吧!

    我花了很多时间试图让 qt5 和 opencv 2.4.3 工作(实际上他们在我开始工作之前发布了 opencv 2.4.4。)我一直在寻找不少教程,但迄今为止最好的一个是这个,非常重要,非常感谢:

    http://www.laganiere.name/opencvCookbook/chap1s1_2.shtml

    我无法强调本教程对我的帮助有多大,我正在编写本指南作为补充。大多数情况下,我提供了编译器和库的更新路径,并描述了如何处理我在此过程中遇到的错误。使用食谱教程获取图片和更详细的说明。

    但正如我所暗示的那样,事情并非没有痛苦并且按照说明进行,所以我想我会分享我为解决问题所做的事情,希望这会对某人有所帮助。

    注意:有一半时间我都不确定自己在做什么,当有疑问时,我倾向于按照自己的直觉行事,所以如果有更多知识和经验的人发现不准确的地方,请告诉我,我将纠正它。这就是我所做的,它对我来说很有效,我现在正在使用 C++ 在 qt creator 5 中构建 openCV 程序。

    我使用了以下路径:

    Qt: C:\软件\Qt

    OpenCV 解压目录: c:\软件\opencv-win

    OpenCV 安装目录: c:\软件\opencvMinGW

    下载:

    好的,对于初学者来说,下载最新的 qt 库和使用 MinGW 的创建者(在我的例子中是 5.0.1)

    然后下载openCV,在我的例子中是2.4.4

    下载 CMake(目前为 2.8.10.2 版本)

    安装:

    安装 Qt(这需要很长时间)。

    运行 openCV exe,它将提取您需要的所有文件。如前所述,我使用 C:\software\opencv-win 作为提取它们的位置。

    安装 CMake。确保选择“将 CMake 添加到所有用户的系统路径”(或类似选项)。

    将 C:\software\qt\5.0.1\mingw47_32\bin (或等效项)添加到系统变量中的路径(如何执行此操作在我开头链接的指南中进行了描述)

    重新启动计算机。

    编译 OpenCV:

    启动 Cmake-gui。 在“源代码在哪里:”下,您浏览到解压缩 opencv 的位置(在我的情况下为 C:\software\opencv-win),然后在“在哪里构建二进制文件”中,输入您想要完成库的位置(我使用 c:\software\opencvMinGW),然后单击生成并创建目录。在弹出窗口中,选择“MinGW makefiles”和“Specify native compilers”。在 C 中,对我来说,路径变成了“C:/software/qt/Tools/MinGW/bin/gcc.exe”,而对于 C++“C:/software/qt/Tools/MinGW/bin/g++.exe”,你相应地输入您安装 Qt 的位置。

    按配置。

    这就是让我觉得很奇怪的地方。我收到一条错误消息:

    "CMake 错误:CMake 无法找到对应的构建程序 到“MinGW Makefiles”。 CMAKE_MAKE_PROGRAM 未设置。你可能 需要选择不同的构建工具。 CMake 错误:CMake 无法 找到与“MinGW Makefiles”对应的构建程序。 CMAKE_MAKE_PROGRAM 未设置。您可能需要选择一个 不同的构建工具。 CMake 错误:错误需要内部 CMake 未设置变量,可能无法正确构建 cmake。失踪 变量是:CMAKE_CXX_COMPILER_ENV_VAR CMake 错误:找不到 制作模块 文件:C:/software/opencvMinGWblah/CMakeFiles/2.8.10.2/CMakeCXXCompiler.cmake CMake 错误:错误需要内部 CMake 变量未设置,cmake 可能 不能正确构建。缺少的变量是: CMAKE_C_COMPILER_ENV_VAR CMake 错误:找不到 cmake 模块 文件:C:/software/opencvMinGWblah/CMakeFiles/2.8.10.2/CMakeCCompiler.cmake 配置不完整,出现错误!”

    我怀疑这与制作程序有关。呃。但是如何解决呢?

    我通过检查“高级”按钮,找到条目 CMAKE_MAKE_PROGRAM 并指定路径“C:/software/qt/Tools/MinGW/bin/mingw32-make.exe”解决了这个问题

    一切都很好,结局很好。还是这样?

    选中“分组”按钮,打开 WITH 类别,选中“WITH_QT”。按配置。 另一块错误:

    C:/software/CMake 处的 CMake 警告 2.8/share/cmake-2.8/Modules/FindQt4.cmake:615(消息):C:/software/qt/5.0.1/mingw47_32/bin/qmake.exe 报QT_INSTALL_LIBS 作为 "C:/software/qt/5.0.1/mingw47_32/lib" 但 QtCore 不能 在那里找到。没有为目标构建正确安装 Qt 环境。调用堆栈(最近的调用优先):
    cmake/OpenCVFindLibsGUI.cmake:8 (find_package) CMakeLists.txt:377 (包括)

    因此,正如人们可能从错误消息中所怀疑的那样,程序找不到库。 我对此进行了如下补救。展开类别QT,找到值QT_QTCORE_LIBRARY_DEBUG,输入

    “C:/software/qt/5.0.1/mingw47_32/bin/Qt5Cored.dll”,在它下面你会找到QT_QTCORE_LIBRARY_RELEASE,输入“C:/software/qt/5.0.1/mingw47_32/bin/ Qt5Core.dll" 现在,您可以在没有警告的情况下按配置(希望如此),然后您可以按生成,一切都会变得美好,您可以按照说明书教程进行操作。

    顺便说一句,这些是我添加到系统变量中的附加路径变量。我不知道,也许其中一些是不必要的,但当一切终于正常时,我不打算开始惹他们。

    C:\software\qt\Tools\MinGW\bin;
    C:\software\Qt\Tools\MinGW;
    C:\software\opencvMinGW\install\bin;
    

    并且不要忘记您需要将 DLL 名称更改为 244 而不是 231,如下所示:

    LIBS += -LC:\\software\\opencvMinGW\\install\\lib \
        -lopencv_core244.dll \
        -lopencv_highgui244.dll \
        -lopencv_imgproc244.dll \
        -lopencv_features2d244.dll \
        -lopencv_calib3d244.dll
    

    我真的希望这对某人有帮助!

    编辑:上面的链接不再起作用。此链接可能会有所帮助 (https://wiki.qt.io/How_to_setup_Qt_and_openCV_on_Windows)

    【讨论】:

    • 我知道这不是一个完美的答案,但是如果您在使用 opencv 和 qt 5 时遇到问题,请考虑使用 qt 4 - 使用本教程 docs.opencv.org/doc/tutorials/introduction/windows_install/… 一起构建它很容易@ 一件重要的事情 - cmake 将尝试查找 qt 5,因此将变量 WITH_QT 设置为 4 或在 cmake\OpenCVFindLibsGUI.cmake 注释或删除第 18-32 行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-14
    • 2014-06-12
    • 2016-11-08
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多