【已解决】海康威视MFC综合示例(C++ 官网Demo)采用VS2019编译异常如何解决?

一、文章背景:

今天下午有个从事海康威视监控业务的朋友突然找我帮忙,朋友从海康威视官网下载了一个 CH-HCNetSDKV6.1.4.42_build20200527_win32 海康设备SDK压缩包,其中的C++ MFC综合示例. ClientDemo.sln 采用VS2019编译报错异常无法启动。

爽快的答应后被坑了好几个小时才把Demo示例跑起来,顺手写个文章记录一下,后来者可以少踩一些坑坑。

项目已调通,可直接单击下载运行

二、操作步骤:

1、海康威视设备网络SDK下载:

  1. 当前最新版本:SDK_V6.1.4.42(for Windows32)
  2. 官方下载地址:https://www.hikvision.com/cn/download_more_401.html#prettyPhoto
  3. MFC综合示例目录:CH-HCNetSDKV6.1.4.42_build20200527_win32\Demo示例\1-
    MFC综合示例\ ClientDemo.sln

2、VS2019 MFC开发环境配置:

  1. 打开 Visual Studio Installer => 修改 => 单个组件
    在这里插入图片描述
  2. 选择 单个组件 勾选如下4个组件:
    在这里插入图片描述

3、MFC综合示例编译运行:

  1. 用VS2019打开MFC综合示例 ClientDemo.sln:
    在这里插入图片描述

  2. 根据IDE提示升级项目Windows SDK 版以及平台工具:
    在这里插入图片描述

  3. F6直接编译项目报错:
    错误 C4430 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int ClientDemo
    E:\项目合集\CH-HCNetSDKV6.1.4.42_build20200527_win32\头文件\DecodeCardSdk.h 152

    在这里插入图片描述
    解决方法:
    头文件地址: CH-HCNetSDKV6.1.4.42_build20200527_win32\头文件\DecodeCardSdk.h
    第11行代码: #define DLLEXPORT_API extern “C” __declspec(dllexport) ;
    extern "C"后面需要增加一个空格
    在这里插入图片描述

  4. F6继续编译项目报错:
    在这里插入图片描述
    (1)警告 MSB8004 Output 目录未以斜杠结尾。 此生成实例将添加斜杠,因为必须有这个斜杠才能正确计算 Output 目录。
    (2)错误 D8016 “/ZI”“/Gy-” 命令行选项不兼容

  5. 项目=> 右键属性=> 配置属性=> 常规=> 输出目录:尾部添加一个反斜杠 ‘/’
    在这里插入图片描述

  6. 项目=> 右键属性=> 配置属性=> C/C++=>调试信息格式:选择程序数据库 (/Zi) 在这里插入图片描述

  7. 项目=> 右键属性=> 配置属性=> C/C++=> 代码生成=> 启用函数级链接:选择 否 (/Gy-)
    在这里插入图片描述

  8. F6继续编译项目报错:
    在这里插入图片描述
    (1)错误C4839将类 “CFileException” 作为可变参数函数的参数的非标准用法
    (2)错误C2280“CFileException::CFileException(const CFileException &)”: 尝试引用已删除的函数

  9. 双击错误导航到 DlgScreenLogoCfg.cpp 第119行 简单调整代码:
    DlgScreenLogoCfgUniform.cpp 第129行 进行同样简单处理,需要具体错误信息自己处理:
    在这里插入图片描述

116 if (!m_logoFile.Open(m_csFilePath, CFile::modeRead, &fileException))
117		{
118			//CString csStr; 直接屏蔽
119			//csStr.Format("File Open failed , err = %d\n", fileException);直接屏蔽
120			MessageBox("File Open failed");
121			return;
122		}
  1. 继续F6漫长的的等待后编译通过,Ctrl+F5运行项目效果如下:
    在这里插入图片描述

三、小结:

已调通项目下载地址:https://download.csdn.net/download/liuyonghong159632/12794621
解决问题花了6个小时,这篇文章编辑就花了2个多小时 真心伤不起
有朋自远方来 虽远必诛,欢迎加微交流: 15249207822

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值