1、在项目的.pro文件里导入海康工业相机的SDK路径
INCLUDEPATH += \ D:\HKVersion\MVS_3.1.0\MVS\Development\Includes #这时到入Opencv的库 D:\OpenCV\opencv\build\include D:\OpenCV\opencv\build\include\opencv D:\OpenCV\opencv\build\include\opencv2 LIBS += -LD:/HKVersion/MVS_3.1.0/MVS/Development/Libraries/win64/MvCameraControl.lib
2、Qt添加外部依赖库
1)在工程文件目录下新建两个文件夹:include和lib
2)将外部依赖库中的include和lib目录中的文件复制到工程对应的文件夹下
3)在.pro文件中导入如下代码
1 INCLUDEPATH += $$PWD/include/ 2 INCLUDEPATH += $$PWD/include/opencv/ 3 INCLUDEPATH += $$PWD/include/opencv/opencv2/ 4 5 DEPENDPATH += $$PWD/include/ 6 DEPENDPATH += $$PWD/include/opencv/ 7 DEPENDPATH += $$PWD/include/opencv/opencv2/ 8 9 LIBS += -L$$PWD/lib/opencv_world349.lib 10 LIBS += -L$$PWD/lib/opencv_world349d.lib
3、遇到的问题
1)QT creator 频繁报出 ,不好解决的错误如下:
warning: C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
解决办法:从网上搜了有3种办法如下:
方法一:(屏蔽此警告)
在工程文件.pro里面添加
# disable C4819 warning QMAKE_CXXFLAGS_WARN_ON += -wd4819
方法二:(屏蔽所有警告)
在工程文件.pro里面添加,然后clear项目重新编译即可
# disable all warning and debug DEFINES += QT_NO_WARNING_OUTPUT\ QT_NO_DEBUG_OUTPUT
方法三:
预编译代码到公共头文件里面
#pragma warning( disable : 4819 )
本人采用了第三种方法(已解决):在需要引入海康SDK的头文件#include "MvCameraControl.h"的文件里加上如下代码:
#pragma execution_character_set("utf-8") #pragma warning( disable : 4819 )
2)在解决第一个错误之后又报出第二个错误如下:
Qt报错:error: C1083: 无法打开包括文件: “MvCameraControl.h”: No such file or directory;
错误分析:在导入头文件时有提示是可以导入的,但是编译报错说找不到这个文件;
解决办法:将海康的SDK中的库文件复制到当前工程目录下方可;
3)Qt引入海康SDK正确做法:将海康SDK中的includes目录和libs目录复制到QT项目的根目录,然后点击项目右键“添加库”--外部库---然后再加上面的代码即可
引入MyCamera类时出现编码问题?解决办法:到项目文件里找到MyCamera类使用EditPlus更改编码为UTF-8编码,然后报错找不到“stdafx.h”,将这个头文件注释掉,因为这个头文件是MFC界面用的,和QT没关系。