在Qt中配置海康工业相机SDK及遇到的问题(报错)

时间:2024-03-07 15:17:19

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没关系。