C++Builder XE6开发海康设备控制软件--基础知识

基础知识

一、进行海康设备控制软件开发之前,需要到海康公司网站下载海康的SDK:服务支持--下载--SDK开发。你可以下载设备网络SDK,区分windows和linux版本,你可以根据需要下载,我下载的是:设备网络SDK_V5.2.7.5(for Windows32)

二、接下来我们就可以进行开发了,之前你需要解压压缩包,看看海康SDK里有什么,它包括Demo示例、开发文档、库文件、头文件,海康的库文件使用VC开发,Demo示例包括四个版本:
1- MFC综合示例
编译环境:VS2013 + vc_mbcsmfc插件
2- MFC分功能示例
编译环境:VC6.0
3- C# 开发示例
编译环境:VS2010
4- Java 开发示例
编译环境:NetBeans IDE 6.7

很不幸,没有C++Builder和Delphi的版本,我咨询了海康公司,答复是建议使用VC、C#或java开发,决定尝试一下,毕竟都是C++吗。

三、新建例程,加入"HCNetSDK.h”头文件,开始开发。

//---------------------------------------------------------------------------
#include 
#pragma hdrstop

#include "Main.h"
#include "HCNetSDK.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmMain *frmMain;
//---------------------------------------------------------------------------
__fastcall TfrmMain::TfrmMain(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmMain::FormCreate(TObject *Sender)
{
    bool m_bInitSDK = NET_DVR_Init() ;
    if (m_bInitSDK == false)
    {
        ShowMessage("NET_DVR_Init error!") ;
    }
    else
    {
        //保存SDK日志
        NET_DVR_SetLogToFile(3, "C:\\SdkLog\\", true) ;
    }
}
//---------------------------------------------------------------------------
编译报错:

[Linker Error] Unresolved external 'NET_DVR_Init' referenced from G:\MY_CBUILDER\MAIN.OBJ
[Linker Error] Unresolved external 'NET_DVR_SetLogToFile' referenced from G:\MY_CBUILDER\MAIN.OBJ
原来是仅仅加入了 HCNetSDK.h,没有加入HCNetSDK.cpp或者lib即函数实现,于是在工程中加入HCNetSDK.lib,还是报错:

[Linker Error] 'G:\MY_CBUILDER\HCNETSDK.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
用C++Builder调用VC做第 三方 的lib文件时,编译的时候会出现上面的错误, 必须将lib先转换成CB格式的,需要使用CB安装目录下bin里的coff2omf工具。

转换步骤:
1.在系统路径Path里加入“C:\Program Files\Borland\CBuilder6\Bin”;
2.将VC的lib文件“HCNetSDK.lib”拷贝到G盘;
3.cmd 进入 G盘;
4.coff2omf -lib:ms HCNetSDK.lib bcb HCNetSDK_1.lib
5.提示:COFF to OMF Converter Version 1.2.0 Copyright (c) 1999-2009 Embarcadero Technolo
gies, Inc.
 All rights reserved.
转换成功
6.加入CB工程,编译通过。
四、到这里你就可以使用C++Builder开发海康设备控制软件了。



你可能感兴趣的:(C++BuilderXE6)