将opencv2.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联系起来的问题,但我尝试了所有的答案,但对我来说从未成功。
这是我的配置,适用于visualstudio2012。
系统变量路径:
- D: \Program Files\opencv\build\x64\vc11\bin
包括路径:
- D: \Program Files\opencv\build\include\
- D: \Program Files\opencv\build\include\opencv
- D: \Program Files\opencv\build\include\opencv2
lib路径:
- D: \Program Files\opencv\build\x64\vc11\lib
我已经下载并安装了QT5.1.1,并开始了一个项目。在专业版中,我这样编辑,
INCLUDEPATH += D:Program Filesopencvbuildinclude
我认为这应该是有效的,但在main()中,当我添加标题时
#include "opencv/cv.h"
#include <opencv/highgui.h>
QT编译器总是告诉我"没有这样的文件或目录"
这种愚蠢的问题已经困扰了我好几天了,我不知道哪里出了问题,有人能帮我吗?
更新:感谢大家,Gibby的回答帮助我解决了"找不到头"的第一个问题,但现在运行程序时,我遇到了类似"release\test.exe:-1:error:LNK1120:6个未解决的外部"的问题
所以这肯定是由于图书馆的链接,我尝试过
LIBS += -LD:Program Filesopencvbuildx64vc11lib
-lopencv_core246
-lopencv_highgui246
-lopencv_imgproc246
-lopencv_features2d246
-lopencv_calib3d246
或
LIBS += -LD:Program Filesopencvbuildx64vc11lib
-lopencv_core246.lib
-lopencv_highgui246.lib
-lopencv_imgproc246.lib
-lopencv_features2d246.lib
-lopencv_calib3d246.lib
或来自如何在QtCreator中链接opencv并使用Qt库
LIBS += -LD:Program Filesopencvbuildx64vc11lib
libopencv_core246
libopencv_highgui246
libopencv_imgproc246
libopencv_features2d246
libopencv_calib3d246
但这些都不起作用
您需要使用Qt构建OpenCV。步骤是,
- 在你的电脑上安装Qt(我对所有版本的OpenCV都使用Qt4,因为我的应用程序都是基于它的,但你也可以使用Qt5)
- 记下安装路径(对我来说,它是
D:/Qt/4.8.5/
,并将其放在Path
环境变量中 - 打开CMake并启动OpenCV的构建过程。确保在
CMAKE
下选择了选项WITH_QT
- 我的
CMAKE_INSTALL_PREFIX
是D:/Program Files/opencv
,它也在我的Path
环境变量上;你可以相应地改变你的 - 需要使用其他选项进行构建。生成文件,然后构建二进制文件,并在上述路径中安装OpenCV
- 您的OpenCV安装现在支持Qt,您可以在VS和Qt Creator中使用它。如需进一步参考,请点击此链接
HTH
我遇到了同样的问题,通过将项目设置为发布(qt窗口的左下角)而不是调试,然后将qt和opencv库复制到bin文件夹中,解决了这个问题。一旦你将你的项目设置为构建一个.exe文件将在bin文件夹中生成。运行该应用程序会告诉你仍然缺少什么dll,在opencv/build/x64/vc11/bin中找到opencv dll,在qt/qt(版本)/(版本)(编译器)/bin 中找到qt dll
~ Gibby
因为空格字符。
qmake可能认为"D:\Program"answers"Files\opencv\build\include"是分开的。
用双引号把你的路围起来。
- Qt creator 4.11,在应用程序输出面板中创建一个链接
- Libharu 解释 QT c++ 中的链接
- Qt5 C++将新窗口与Qt设计器链接
- 确定Qt库链接
- Qt & Firebase C++ SDK 在 iOS 上的链接问题
- 在Qt中链接具有非标准名称的lib文件
- CMake Qt建立在Windows链接器问题之上
- libGL确实存在,但链接器找不到它 - Qt 4.8.7,CentOS 7.5
- 静态链接MSVC库,动态链接Qt
- 将Qt应用程序与CMake和Visual Studio链接起来
- 静态Qt链接版本,Qt 5.2,QT中的未知模块:快速qml
- Qt链接问题
- CGAL Qt 链接器错误
- qt链接器错误,从另一个线程发出信号
- 将类添加到基本Qt GUI应用程序时出现Qt链接器错误
- Ubuntu Qt链接提升日志
- MyClass::元对象VS2005的Qt链接问题
- Qt链接器错误窗口
- Qt:链接我的模型数据与QListView
- Q_OBJECT相关的qt链接错误