繁体   English   中英

将Opencv 2.4.6与Qt库链接

[英]link opencv 2.4.6 with Qt library

我在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;

包含路径:

  1. D:\\ Program Files \\ opencv \\ build \\ include \\;
  2. D:\\ Program Files \\ opencv \\ build \\ include \\ opencv;
  3. D:\\ Program Files \\ opencv \\ build \\ include \\ opencv2;

lib路径:

  1. D:\\ Program Files \\ opencv \\ build \\ x64 \\ vc11 \\ lib;

我已经下载并安装了QT 5.1.1,并开始了一个项目。 在专业人士中,我像这样编辑

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

我认为这应该工作,但是在main()中,当我添加标题时

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

QT编译器将始终告诉我“没有此类文件或目录”

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

更新:谢谢大家,吉比的回答帮助我解决了“找不到标题”的第一个问题,但是现在运行该程序,我遇到了类似“ 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 \ 

或从如何在QtCreator中链接opencv并使用Qt库

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

但这些都不起作用

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

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

HTH

我遇到了同样的问题,并通过将项目设置为release(在qt窗口的底部左侧)而不是调试来解决它,然后将qt和opencv库复制到bin文件夹中。 设置好要构建的项目后,将在bin文件夹中生成一个.exe文件。 运行该应用程序将告诉您仍然缺少什么dll,请在opencv / build / x64 / vc11 / bin中找到opencv dll,在Qt / Qt(ve​​rsion)/(version)/(compiler)/ bin中找到qt

〜吉比

由于篇幅所限。

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

只需用双引号引起来即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM