首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Qt库链接opencv 2.4.6

用Qt库链接opencv 2.4.6
EN

Stack Overflow用户
提问于 2013-12-02 17:28:00
回答 3查看 8.1K关注 0票数 0

我正在windows 7上工作,安装并编译了OPENCV 2.4.6,它在microsoft 2012中运行得很好,所以我知道如何找到OPENCV包含和库的路径,并在系统变量中配置bin路径

但是说到QT,它完全不起作用。我知道在堆栈溢出中有许多关于如何在windows中将opencv与QT连接的问题,但是我尝试了所有的答案,但它从来没有对我起作用。

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

系统变量路径:

  1. D:\Program \opencv\build\x64\vc11 11\bin;

包含路径:

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

库路径:

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

我下载并安装了QT5.1.1,并启动了一个项目。在专业杂志里,我这样编辑,

代码语言:javascript
复制
INCLUDEPATH += D:\Program Files\opencv\build\include \

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

代码语言:javascript
复制
#include "opencv/cv.h"
#include <opencv/highgui.h>

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

这种愚蠢的问题困扰了我好几天,我不知道哪里出了问题,有人能帮我吗?

更新:谢谢大家,吉比的回答帮助我解决了“找不到头”的第一个问题,但是现在运行这个程序时,我遇到了‘ReleaseTest.exe:-1:error: like 1120:6个未解决的外部文件’之类的问题。

所以这肯定是因为图书馆的链接,我试过了。

代码语言:javascript
复制
LIBS += -LD:\Program Files\opencv\build\x64\vc11\lib \
    -lopencv_core246 \
    -lopencv_highgui246 \
    -lopencv_imgproc246 \
    -lopencv_features2d246 \
    -lopencv_calib3d246 \ 

代码语言:javascript
复制
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

代码语言:javascript
复制
LIBS += -LD:\Program Files\opencv\build\x64\vc11\lib \
    libopencv_core246 \
    libopencv_highgui246 \
    libopencv_imgproc246 \
    libopencv_features2d246 \
    libopencv_calib3d246 \

但这些工作都没有

EN

回答 3

Stack Overflow用户

发布于 2013-12-02 18:44:44

您需要使用Qt构建OpenCV。台阶是,

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

HTH

票数 3
EN

Stack Overflow用户

发布于 2013-12-02 23:23:22

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

~吉比

票数 1
EN

Stack Overflow用户

发布于 2013-12-02 17:38:04

因为太空的特点。

qmake可能会认为"D:\Program“和"Files\opencv\build\include”是分隔的。

用双引号环绕你的路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20334254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档