前言

  国产麒麟系统开发上,使用宇视摄像头,本篇使用宇视官网的提供的SDK,搭建基础的国产系统上宇视摄像头SDK开发化境Demo。

 

效果演示

  

 

宇视SDK下载

  CSDN粉丝0积分下载地址:https://download.csdn.net/download/qq21497936/86806967
  QQ群下载:请回首页加QQ群,QQ群文件搜索"NETDEVSDK"
  官方下载地址:https://cn.uniview.com/
  
  

 

模块化部署

  

 

引入sdk

  在cameraManager.pri引入(非模块化可以直接在pro中添加):

# 引入摄像头头文件和sdk
DEFINES += LINUX
INCLUDEPATH += $$PWD/NETDEVSDK_Linux64_V2.6.0.0/include
LIBS += -L$$PWD/NETDEVSDK_Linux64_V2.6.0.0/lib
LIBS += -lNetDEVSDK

  其中LINUX宏是NetDEVSDK.h头文件中需要枚举的,其他为标准引入方法:头文件,库路径,库文件。
  运行报错:
  

  这里是因为libNetDEVSDk.so引用了很多其他的库,而这些库sdk的lib中也有,但是需要我们手动引入以下:
  

  按照错误提示,将需要的库引入:
  

# 引入摄像头头文件和sdk
DEFINES += LINUX
INCLUDEPATH += $$PWD/NETDEVSDK_Linux64_V2.6.0.0/include
LIBS += -L$$PWD/NETDEVSDK_Linux64_V2.6.0.0/lib
LIBS += -lNetDEVSDK LIBS += -lmxml
LIBS += -lNetDiscovery
LIBS += -lcloud
LIBS += -lpolarssl
LIBS += -lcloudclient
LIBS += -lcloudhttpcurl
LIBS += -levent
LIBS += -lstun
LIBS += -lt2u
LIBS += -lCloudSDK
LIBS += -lNDPlayer
LIBS += -lNDRM

  编译报错,继续引入:
  

  成功编译,然后运行:
   

  使用qtcreator运行也需要引入,那么在工程中添加LD_LIBRARY_PATH路径,引入到模块下的lib中,本来还想在Qtcreator运行环境中引入,但是实际上已经有了:
   
  这就奇怪了,已有了运行起来还加载不到,不纠结,使用ldconfig将其添加进系统连接路径:

sudo vi /etc/ld.so.conf
sudo ldconfig

  
  成功运行起来:
   
  使用此种方式,库也无需引入这么多了:
  最终cameraManager.pri如下:

INCLUDEPATH += $$PWD
DEPENDPATH += $$PWD HEADERS += \
$$PWD/CameraManager.h SOURCES += \
$$PWD/CameraManager.cpp # 引入摄像头头文件和sdk
DEFINES += LINUX
INCLUDEPATH += $$PWD/NETDEVSDK_Linux64_V2.6.0.0/include
LIBS += -L$$PWD/NETDEVSDK_Linux64_V2.6.0.0/lib
LIBS += -lNetDEVSDK # 新系统后,将sdk的lib目录添加进/etc/ld-so.conf
# 绝对路径另起一行,无include
# 使用ldconfig即可
 

工程模板

  

 

红胖子建议

  引入库的方法很多,根据项目情况和自身习惯选择合适自己的即可,但是有一点特别注意,就是项目迁移或者交接源代码的时候,一定要描述清楚,避免交接源码后接收代码着环境搭建都需要细节沟通甚至花费几天,尤其跨项目组部门公司这种,所以,笔者更倾向于直接将库包含进模块,这样笔者交接代码都属于傻瓜式交接,项目交接后都可直接编译修改的,基本不存在任何环境问题。(纯技术角度)

 

ldconfig引入库方法总结

步骤一:lib绝对文件夹路径获取

  

步骤二:修改/etc/ld-so.conf,将lib库路径另起一行,填入库文件夹绝对路径一行

  

  

步骤三:使用ldconfig

  

麒麟系统开发笔记(九):在国产麒麟系统上搭建宇视摄像头SDK基础环境Demo的更多相关文章

  1. 麒麟系统开发笔记(二):国产麒麟系统搭建Qt开发环境安装Qt5.12

    前言   开发国产应用,使用到银河麒麟V4,V10,本篇以V10记录,参照上一篇可安装V4.V7.V10三个版本,麒麟V4系自带了Qt,麒麟V10没有自带Qt,需要自己编译搭建环境.   银河麒麟V1 ...

  2. Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示

    前言   在ubuntu上实现MPlayer播放器播放音乐.   Demo                Mplayer   MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布.此款软件 ...

  3. python开发笔记-Python3.7+Django2.2 Docker镜像搭建

    目标镜像环境介绍: 操作系统:ubuntu16.04 python版本:python 3.7.4 django版本:2.2 操作步骤: 1.  本地安装docker环境(略)2. 拉取ubunut指定 ...

  4. 麒麟系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12

    前言   上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到从源码编译的Qt,所以本篇如何在银河麒麟系统V4上编译Qt5.12源码.   银河麒麟V4版本   系统版本:   Qt源码下载    ...

  5. acm系统开发笔记

    时间:     2016/2/29 遇到的困难:  数据库配置的mysql和java(Date)不一致,出现下面错误 Date date = new Date(); SimpleDateFormat ...

  6. [开发笔记usbTOcan]需求获取与系统需求分析

    简介 一直一以来都是站在实现某个模块功能的角度去做软件开发,没有尝试过站在系统的层面去做开发.最近正好不忙,觉得是时候以系统工程师的视角,去开发一个完整的系统.接下来的几篇文章,我会记录一个USB转C ...

  7. SSM商城系统开发笔记-配置01-web.xml

    先占坑 慢慢填, 商城系统使用主体框架:Spring + Spring MVC + Mybatis 其他框架: 日志: slf4j + logback <!DOCTYPE web-app PUB ...

  8. 钉钉开发笔记(5)android系统中html软键盘的适配

    最近项目中发现个别Android手机中存在弹出的软键盘会遮挡输入框的现象,最后自己写了一个方法(如下),问题基本解决. 记录下来,防止忘记.有什么不对的地方欢迎指正.O(∩_∩)O 1 //键盘适配 ...

  9. SSM商城系统开发笔记-问题02- Error creating bean with name 'userController'

    Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean wit ...

  10. SSM商城系统开发笔记-问题01-通配符的匹配很全面, 但无法找到元素 'mvc:annotation-driven' 的声明。

    配置搭建完后进行Post请求测试时报错: Caused by: org.xml.sax.SAXParseException; lineNumber: 14; columnNumber: 29; cvc ...

随机推荐

  1. [转帖]解释docker单机部署kraft模式kafka集群时,尝试各种方式的网络broker全部不通而启动失败的原因,并提示常见bug关注点

    现象: controller节点与其他两个broker的通信失败.公网ip,宿主机ip,服务名,各种网络方式,都无法成功. 两点提示: 1.bug原因:因为单机内存不够用,设置了较低的 KAFKA_H ...

  2. [转帖]unmatched(riscv64)上编译,安装和移植SPEC CPU 2006

    https://zhuanlan.zhihu.com/p/429399630 Linux ubuntu 5.11.0-1021-generic #22-Ubuntu SMP Tue Sep 28 15 ...

  3. [转帖]龙芯总强调同频性能,是因奔腾4要到25+GHz才比得上酷睿11代单核

      https://baijiahao.baidu.com/s?id=1734320620568707041 闲话不说,先上图,是SPEC CPU 2006 int(单任务)测试的成绩: 上图中的成绩 ...

  4. [转帖]如何理解 iowait

    Linux中,%iowait 过高可能是个问题,严重的时候,它能使服务停止, 但问题是,多高才算高? 什么时候应该担心呢? 本文将讨论 iowait 的含义.相关的统计数据.原理以及 iowait的瓶 ...

  5. [转帖]关于 AREX

    https://arextest.github.io/website/zh-Hans/docs/intro/ AREX 介绍​ 背景​ 对于一个初上线的简单服务,只需通过常规的自动化测试加上人工即可解 ...

  6. [转帖]龙芯 vs 飞腾:各种测试数据看国产CPU水平

    https://zhuanlan.zhihu.com/p/99921594 2019年年末,龙芯.飞腾两大国产CPU巨头更是相继组织了规模宏大的年会,发布了新型桌面芯片及其整机产品,顿时硝烟四起.各大 ...

  7. 【1】VScode 中文界面方法-------超简单教程

    相关文章: [一]tensorflow安装.常用python镜像源.tensorflow 深度学习强化学习教学 [二]tensorflow调试报错.tensorflow 深度学习强化学习教学 [三]t ...

  8. 使用C++实现Range序列生成器

    在C++编程中,经常需要迭代一系列数字或其他可迭代对象.通常,这需要编写复杂的循环结构,但有一种精妙的方法可以使这一过程变得更加简单和可读.如果你使用过Python语言那么一定对Range语句非常的数 ...

  9. 通过URL载入ShellCode代码

    将生成的shellcode放到web服务器上,本地不保存恶意代码,本地只负责加载到内存运行,这样可以很好的躲过查杀. 生成shellcode msfvenom -a x86 --platform Wi ...

  10. Java-Stream-flatMap

    Leave leave1 = new Leave("1","1",new Date(),CollUtil.newArrayList("A", ...