【问题标题】:How do I properly build OpenCV 2.3.1 for Qt 4.7 on windows XP?如何在 Windows XP 上为 Qt 4.7 正确构建 OpenCV 2.3.1?
【发布时间】:2012-01-08 13:37:07
【问题描述】:

http://www.barbato.us/2011/03/18/using-opencv2-within-qtcreator-in-windows-2/

我正在关注上面这篇关于如何将 opencv 与 Qtcreator 一起使用的帖子。 有人提到我必须在 Qtcreator 中将 *.lib 文件添加到我的 pro 中。

我就是这样做的,但是开箱即用的那些 opencv 附带的 *.lib 文件是为 Microsoft VS 编译的。所以我再次关注了另一篇关于如何使用 minGW 构建 opencv 以与 Qtcreator 一起使用的在线帖子,这是链接: http://knowtheabc.wordpress.com/2011/02/25/windows-opencv-and-qt-creator/

但我无法生成那些 *.lib 文件,我得到 *.dll 和 *.dll.a

我尝试将它们添加到我的 Qt 项目中,但它不起作用! 如何生成这些 Lib 文件?

【问题讨论】:

    标签: c++ qt opencv cmake mingw


    【解决方案1】:

    听起来您对使用哪个版本感到困惑。如果你想使用 QtCreator/MinGW,你需要用 MinGW 构建 OpenCV并且使用 Qt 的 MinGW 版本。 Here 是 Qt 的 MinGW 版本。您需要为 OpenCV 的 CMake 构建选择 MinGW Makefiles 目标。 Here 是 OpenCV 的 CMake 安装指南。

    【讨论】:

      【解决方案2】:

      唯一的区别是dll文件是动态库,lib文件是静态库。 dll 库没问题,应该可以工作。您可以在配置中选择要构建的库类型。 你没有详细说明为什么 dll 不工作。

      【讨论】:

      • 当我尝试在 Qt Creator 中构建我的示例时,我不断得到未定义的引用,例如,尽管我使用的是命名空间 cv,但我得到了对 `cv::imread(std::string const&, int)' 的未定义引用并包括 opencv.cpp 。您能告诉我如何从 cMake 中指定库的类型吗?
      • 使用符号发现工具检查符号是否在库中(假设库没有被剥离)。您不必包含源文件(如您所说的 cpp),而是包含头文件(h 或 hpp)。抱歉,我不知道那个 GUI 是如何设计的。检查手册。
      • 对不起,我的意思是 opencv.hpp 而不是 opencv.cpp
      猜你喜欢
      • 1970-01-01
      • 2011-06-04
      • 1970-01-01
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 2013-01-30
      相关资源
      最近更新 更多