使用Qt库链接opencv 2.4.6

时间:2013-12-02 17:28:00

标签: c++ qt opencv

我正在使用Windows 7,并安装和编译OPENCV 2.4.6,它与microsoft studio 2012完美配合,所以我知道如何找到OPENCV include和lib的路径,并配置bin的路径系统变量

但是当谈到QT时,它完全没有用。我知道在stackoverflow上有很多关于如何在Windows中将opencv与QT联系起来的问题,但我尝试了所有答案,但它对我来说没有用。

这是我的配置适用于visual studio 2012。

系统变量路径:

  1. D:\ Program Files \ opencv \ build \ x64 \ vc11 \ bin;
  2. 包含路径:

    1. D:\ Program Files \ opencv \ build \ include \;
    2. D:\ Program Files \ opencv \ build \ include \ opencv;
    3. D:\ Program Files \ opencv \ build \ include \ opencv2;
    4. lib路径:

      1. D:\ Program Files \ opencv \ build \ x64 \ vc11 \ lib;
      2. 我已下载并安装了QT 5.1.1,并启动了一个项目。在专业人士中,我这样编辑,

        INCLUDEPATH += D:\Program Files\opencv\build\include \
        

        我认为这应该可行,但在main()中,当我添加标题

        #include "opencv/cv.h"
        #include <opencv/highgui.h>
        

        QT编译器总是告诉我'没有这样的文件或目录'

        这种愚蠢的问题困扰了我好几天,我不知道哪里出了问题,有人可以帮助我。

        更新 感谢大家,Gibby的回答帮助我解决了第一期“找不到标题”,但现在运行该程序,我遇到了'release \ test.exe:-1:错误:LNK1120:6的问题未解决的外部'

        所以这肯定是由于图书馆的链接,我试过

        LIBS += -LD:\Program Files\opencv\build\x64\vc11\lib \
            -lopencv_core246 \
            -lopencv_highgui246 \
            -lopencv_imgproc246 \
            -lopencv_features2d246 \
            -lopencv_calib3d246 \ 
        

        LIBS += -LD:\Program Files\opencv\build\x64\vc11\lib \
            -lopencv_core246.lib \
            -lopencv_highgui246.lib \
            -lopencv_imgproc246.lib \
            -lopencv_features2d246.lib \
            -lopencv_calib3d246.lib \ 
        

        或来自How to link opencv in QtCreator and use Qt library

        LIBS += -LD:\Program Files\opencv\build\x64\vc11\lib \
            libopencv_core246 \
            libopencv_highgui246 \
            libopencv_imgproc246 \
            libopencv_features2d246 \
            libopencv_calib3d246 \
        

        但这些都不起作用

3 个答案:

答案 0 :(得分:3)

您需要使用Qt构建OpenCV。步骤是,

  1. 在您的计算机上安装Qt(我的所有OpenCV版本都使用Qt4,因为我的应用程序基于它,但您也可以使用Qt5。)
  2. 记下安装路径(对我来说,它是D:/Qt/4.8.5/并将其放在您的Path环境变量中。
  3. 打开CMake并开始OpenCV的构建过程。确保在WITH_QT下选择CMAKE选项。
  4. 我的CMAKE_INSTALL_PREFIX ss D:/Program Files/opencv,我的Path环境变量就在那里;你可以相应地改变你的。
  5. 需要使用其他选项进行构建。生成文件,然后构建二进制文件并在上述路径中安装OpenCV。
  6. 您的OpenCV安装现在支持Qt,您可以在VS和Qt Creator中使用它。如需进一步参考,请前往this link
  7. HTH

答案 1 :(得分:1)

我遇到了同样的问题并通过将项目设置为释放(在qt窗口的左下角)而不是调试然后将qt和opencv库复制到bin文件夹来解决它。将项目设置为构建后,将在bin文件夹中生成.exe文件。运行该应用程序将告诉你什么dll仍然缺失,在opencv / build / x64 / vc11 / bin找到opencv dll,在Qt / Qt(版本)/(版本)/(编译器)/ bin

〜吉比

答案 2 :(得分:0)

由于空间特征。

qmake可能会将“D:\ Program”和“Files \ opencv \ build \ include”视为分开。

用双引号围绕你的路径。