| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Centos7编译安装ONVIF框架代码 -> 正文阅读 |
|
[系统运维]Centos7编译安装ONVIF框架代码 |
1、前言环境:Win10主机+VMware15.5+Centos7.9 登录用户:root 目标:采用从ONVIF官网下载的最新版本WSDL(Ver.21.12)文件,在Centos上用gsoap_2.8.119编译生成ONVIF框架代码(C++版)。 2、准备工作2.1 准备编译环境
2.2 编译安装openssl1、代码下载 ?2、解压缩
3、配置安装目录
4、执行命令
5、编译安装
6、配置环境变量
2.3?编译安装gsoap1、代码下载 2、解压缩
3、配置编译安装
4、编译过程中,出现链接openssl库失败的问题。修改gsoap-2.8/gsoap/wsdl下的Makefile,在277行加上-ldl,然后重新编译即可通过。 3、基于gsoap生成onvif C++框架代码?3.1 获取wsdl可以从ONVIF官网下载最新版本的wsdl及xsd文件。按照自己的需求下载相应文件。因文件依赖关系不确定,一般是全部下载,完整文件是33个。 ? ?从官网下载的wsdl文件,可以在线和离线2种模式生成框架。因网络等问题,建议离线编译。但直接下载的wsdl和xsd文件,不能直接编译,需要修改各个文件中的schemaLocation和location标签的路径值,改法见下截图 ? ? 或者可以从这里获取所有的wsdl和xsd文件,里边所有路径均已修改过,可直接离线编译。 3.2 配置编译生成框架1、修改/gsoap-2.8/gsoap/目录下typemap.dat文件 由于后续编译源代码需要用到 duration.c 文件,会遇到类型LONG64报错的问题,需要在typemap.dat 文件中取消以下行的注释:
2、拷贝到/usr/local/gsoap-2.8/bin
3、将wsdl和xsd文件拷贝放到/usr/local/gsoap-2.8/ onvif_wsdl目录下 4、
5、使用wsdl2h编译生成onvif.h文件
6、修改生成的onvif.h及wsa5.h 因为鉴权的需要,在onvif.h头文件中加入#import "wsse.h"。 避免接下来产生框架发生错误,修改/usr/local /gsoap-2.8/ share/gsoap /import路径下的wsa5.h,将SOAP_ENV__Fault结构体名字修改为SOAP_ENV__Fault_alex。 7、使用soapcpp2生成C++代码
生成的框架代码在./samples/onvif/ 目录下 3.3 整理框架代码1、所有的. nsmap文件都一样,任选一个,将文件名字改为wsdd.h,其它的可以删除。 2、拷贝插件文件
?将以上所有.c文件改成.cpp 3、拷贝框架代码 如果是开发onvif客户端程序,则拷贝相关的soapXXXBindingProxy.h,soapXXXBindingProxy.cpp到/usr/local/onvif/linux_api_proxy 如果是开发onvif服务端程序,则拷贝相关的soapXXXBindingService.h,soapXXXBindingService.cpp到/usr/local/onvif/linux_api_service 4、引用框架代码时,添加预处理宏WITH_OPENSSL? 4、参考编译过程中,参考了下边网友的文章,在此感谢。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 14:32:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |