海思3559A上编译LIVE555源码操作步骤
1. 从http://www.live555.com/liveMedia/public/ 下载live.2019.06.28.tar.gz,并解压缩;
2. 生成静态库,拷贝一份config.armlinux,取名为config.hi3559a,修改后的内容如下:
CROSS_COMPILE?= /opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-
COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
C = c
C_COMPILER = $(CROSS_COMPILE)gcc
C_FLAGS = $(COMPILE_OPTS)
CPP = cpp
CPLUSPLUS_COMPILER = $(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1
OBJ = o
LINK = $(CROSS_COMPILE)g++ -o
LINK_OPTS =
CONSOLE_LINK_OPTS = $(LINK_OPTS)
LIBRARY_LINK = $(CROSS_COMPILE)ar cr
LIBRARY_LINK_OPTS = $(LINK_OPTS)
LIB_SUFFIX = a
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =
然后依次执行如下命令,生成的静态库等相关文件在install目录下:
./genMakefiles hi3559a
make
make install PREFIX=~/LIVE555/install
3. 生成动态库,拷贝一份config.linux-with-shared-libraries,取名为config.hi3559a-with-shared-libraries,修改后的内容如下:
# 'CURRENT':'REVISION':'AGE' are updated - whenever a library changes - as follows:
# The library code changes, but without any changes to the API (i.e., interfaces) => increment REVISION
# At least one interface changes, or is removed => CURRENT += 1; REVISION = 0; AGE = 0
# One or more interfaces were added, but no existing interfaces were changed or removed => CURRENT += 1; REVISION = 0; AGE += 1libliveMedia_VERSION_CURRENT=67
libliveMedia_VERSION_REVISION=2
libliveMedia_VERSION_AGE=1
libliveMedia_LIB_SUFFIX=so.$(shell expr $(libliveMedia_VERSION_CURRENT) - $(libliveMedia_VERSION_AGE)).$(libliveMedia_VERSION_AGE).$(libliveMedia_VERSION_REVISION)libBasicUsageEnvironment_VERSION_CURRENT=1
libBasicUsageEnvironment_VERSION_REVISION=1
libBasicUsageEnvironment_VERSION_AGE=0
libBasicUsageEnvironment_LIB_SUFFIX=so.$(shell expr $(libBasicUsageEnvironment_VERSION_CURRENT) - $(libBasicUsageEnvironment_VERSION_AGE)).$(libBasicUsageEnvironment_VERSION_AGE).$(libBasicUsageEnvironment_VERSION_REVISION)libUsageEnvironment_VERSION_CURRENT=4
libUsageEnvironment_VERSION_REVISION=0
libUsageEnvironment_VERSION_AGE=1
libUsageEnvironment_LIB_SUFFIX=so.$(shell expr $(libUsageEnvironment_VERSION_CURRENT) - $(libUsageEnvironment_VERSION_AGE)).$(libUsageEnvironment_VERSION_AGE).$(libUsageEnvironment_VERSION_REVISION)libgroupsock_VERSION_CURRENT=10
libgroupsock_VERSION_REVISION=3
libgroupsock_VERSION_AGE=2
libgroupsock_LIB_SUFFIX=so.$(shell expr $(libgroupsock_VERSION_CURRENT) - $(libgroupsock_VERSION_AGE)).$(libgroupsock_VERSION_AGE).$(libgroupsock_VERSION_REVISION)
#####CROSS_COMPILE?= /opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-
COMPILE_OPTS = $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -fPIC
C = c
C_COMPILER = $(CROSS_COMPILE)gcc
C_FLAGS = $(COMPILE_OPTS) $(CPPFLAGS) $(CFLAGS)
CPP = cpp
CPLUSPLUS_COMPILER = $(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS = $(COMPILE_OPTS) -Wall -DBSD=1 $(CPPFLAGS) $(CXXFLAGS)
OBJ = o
LINK = $(CROSS_COMPILE)g++ -o
LINK_OPTS = -L. $(LDFLAGS)
CONSOLE_LINK_OPTS = $(LINK_OPTS)
LIBRARY_LINK = $(CROSS_COMPILE)gcc -o
SHORT_LIB_SUFFIX = so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE))
LIB_SUFFIX = $(SHORT_LIB_SUFFIX).$($(NAME)_VERSION_AGE).$($(NAME)_VERSION_REVISION)
LIBRARY_LINK_OPTS = -shared -Wl,-soname,$(NAME).$(SHORT_LIB_SUFFIX) $(LDFLAGS)
LIBS_FOR_CONSOLE_APPLICATION =
LIBS_FOR_GUI_APPLICATION =
EXE =
INSTALL2 = install_shared_libraries
然后依次执行如下命令,生成的动态库等相关文件在install目录下:
./genMakefiles hi3559a-with-shared-libraries
make
make install PREFIX=~/LIVE555/install
4. 将live555MediaServer及动态库拷贝到海思板子上,执行live555MediaServer,结果如下,说明编译正确:
GitHub:http://github.com//fengbingchun/OpenCV_Test
相关文章:

基于海康机器视觉算法平台的对位贴合项目个人理解 | CSDN原力计划
扫码参与CSDN“原力计划”作者 | 果汁分你一半哈哈来源 | CSDN原力计划获奖作品都说“纸上得来终觉浅,绝知此事要躬行”,可惜咱没这条件呀,没项目咱也不能干坐着呀,那咱发挥主观能动性,咱不是学机械的么,还…

解决Swift中present(uiImagePickerController,animated: true,completion: nil)闪退的问题
swift中开发选择图片上传,会使用到Tap Gesture Recognizer控件,对应 UITapGestureRecognizer API,以下是代码示例(取自IOS developer library): IBAction func selectImageFromPhotoLibrary(_ sender: UIT…

测试发现equals和hashCode与书上描述的不一样
2019独角兽企业重金招聘Python工程师标准>>> 如果两个对象根据equals()方法比较是相等的,那么调用这两个对象中任意一个对象的hashCode方法都必须产生同样的整数结果。但是现实情况,两者产生的hashCode值却不相等求解? 转载于:htt…

海思3559A上编译OpenCV4.1.0源码操作步骤
1. 从https://github.com/opencv/opencv/releases 下载opencv源码opencv-4.1.0.zip并解压缩; 2. 修改最顶层的CMakeLists.txt,在第658行加入一条语句如下,fix error: pngstruct.h:30:18: fatal error: zlib.h: No such file or directory #i…

如何从零开始设计与开发一款通用模型预测调度系统 | 干货分享
机器学习模型从训练导出到生成环境部署,这个过程中涉及大量工作,会面临着各种问题与挑战,比如不断丰富的业务场景,系统需要负载种类繁多的神经网络,预测任务不均匀等,然而企业拥有的计算资源(如…

闲来无事,总结 Xcode常用快捷键
IOS模拟器home键:Command Shift H 构建应用程序:Command + B 运行app:Command + R 清理工程:Command + Shift + K 打开Xcode首选项:Command + ÿ…

openNebulafrontEnd ComputeNode 配置记录
openNebulafrontEnd ComputeNode 配置记录 1,OpenNebula nfs(file system shared) for image datastore; openNebula computeNode挂载,如果frontend与compute在同一台服务器则不用做NFS shared; 3,make raw image 4,配置过程中配置服务器网桥报错 报错信息 bringing up interfa…

武汉大学提出ARGAN:注意力循环生成对抗模型用于检测、去除图像阴影 | ICCV 2019...
作者 | 王红成出品|AI科技大本营(ID:rgznai100)【导读】如何去除一张图像中的阴影部分?在ICCV 2019会上,武汉大学的一篇论文针对这一问题提出了一种用于阴影检测和去除的注意循环生成对抗网络——ARGAN。论…

海思3559A上编译libyuv源码操作步骤
1. 下载libyuv源代码,执行: git clone https://chromium.googlesource.com/libyuv/libyuv 2. 通过CMakeLists.txt编译生成库,build.sh脚本内容如下: cmake \-DCMAKE_BUILD_TYPERELEASE \-DCMAKE_C_COMPILER/opt/hisi-linux/x86…

Cocoapods的安装以及使用(2)
Cocoapods 在网上看博客,看了好多次,都没有学会cocoapods,今天上午浪费了一上午的时间,终于算是学会了。其实也是很简单的。 iOS 新版 CocoaPods 安装流程 1.换掉现有Ruby默认源(由于好多人都没有翻墙,所…
MyEclipse10中导入的jquery文件报错(出现红叉叉,提示语法错误)
为了做一个页面特效,导入了一个jquery文件,怎想,myeclipse竟然报错说是语法错误,但是这个js文件我是从官网上下载的,不应该出错才对,百度谷歌之后终于找到了解决办法: 选中报错的js文件…

海思3559A上编译libjpeg-turbo源码操作步骤
1. 从https://github.com/libjpeg-turbo/libjpeg-turbo/releases/tag/2.0.2 下载libjpeg-turbo 2.0.2版本; 2. 脚本build.sh内容如下: cmake \-DCMAKE_BUILD_TYPERELEASE \-DCMAKE_C_COMPILER/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarc…

免费!这里有一份开发者进阶“宝典”求带走
作为开发者,无论是前端还是后端,做机器学习还是云计算、架构,保持对技术的敏感性都是非常重要的事。新技术一般发源于人力、财力等各方面资源都很雄厚的大厂,经过时间的沉淀逐渐成为技术主流。因此,从 BAT、Google、Fa…

使用终端建立自己需要工程
cocoapods应该是时下类库比较全面的三方管理工具,使用也特别方便,你只需将别人的类库在你的 podfile中 pod "SomeoneNameLibrary" 就可以在你的工程中使用这个库,作为一个开发者,你是否也想让别人在他的项目中 pod &quo…

1.0 封装后的布局成本
2019独角兽企业重金招聘Python工程师标准>>> 1.0.1 C语言中(.c) 1. 数据和函数是分开声明的,语言本身没有支持“数据和函数”之间的关联性。 2. 这种程序方法为程序性的,由一组“分布在各个以功能为导向的函数…

通过gdb core dump方法查看程序异常时的堆栈信息
在Linux下可通过core文件来获取当程序异常退出(如异常信号SIGSEGV, SIGABRT等)时的堆栈信息。core dump叫做核心转储,当程序运行过程中发生异常的那一刻的一个内存快照,操作系统在程序发生异常而异常在进程内部又没有被捕获的情况下,会把进程…

日均350000亿接入量,腾讯TubeMQ性能超过Kafka
整理 | 夕颜出品 | AI科技大本营(ID:rgznai100)【导读】近日,腾讯开源动作不断,相继开源了分布式消息中间件TubeMQ,基于最主流的 OpenJDK8开发的Tencent Kona JDK,分布式HTAP数据库 TBase,企业级…

iOS应用版本更新(自动提醒用户)
在#import "AppDelegate.h" 文件中的application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions 方法中调用检测结果 获得发布版本的Version 比较当前版本与新上线版本做比较 UIAlertView代理方法

Bash Shell脚本编程-变量知识
Shell:GUI CLI提供交互式接口:提高效率命令行展开:~ ,{}命令别名:alias命令历史:historyGlobbing:*,?,[],[^]命令补全:$PATH指定的目录下路径补全…

FFmpeg中可执行文件ffplay用法汇总
从https://ffbinaries.com/downloads 下载最新的4.1版本的windows 64位FFplay。目前linux下的只有3.2版本的。FFplay是一个由FFmpeg和SDL库组成的简单媒体播放器,它主要用作各种FFmpeg API的测试。 通过执行以下命令将FFplay信息重定位到ffplay_help.txt文件中便于…
用Go重构C语言系统,这个抗住春晚红包的百度转发引擎承接了万亿流量
整理 | 夕颜出品 | AI科技大本营(ID:rgznai100)11 月 20 日,百度的万亿流量转发引擎 BFE 登上了 GitHub Trending Top 3,今日 Star 已突破 270。事实上,这个曾经抗住 2019 年春晚抢红包的转发引擎早已于 2019 年夏在 G…

Swift3.0带来的变化汇总系列一——字符串与基本运算符中的变化
var string "Hello-Swift" //获取某个下标后一个下标对应的字符 char"e" //swift2.2 //var char string[startIndex.successor()] //swift3.0 var char string[string.index(after: startIndex)] //获取某个下标前一个下标对应的字符 char2 "t&qu…

vc+如何添加右键弹出菜单
2019独角兽企业重金招聘Python工程师标准>>> 一、创建新工程 二、编辑菜单资源 1、添加菜单 按“CtrlR”,双击“Menu”图标2、于菜单编辑器内编辑菜单四、添加代码(红色部分) void CCMenuView::OnUpdateShow(CCmdUI* pCmdU…
EMNLP 2019 | 大规模利用单语数据提升神经机器翻译
BDTC大会官网:https://t.csdnimg.cn/q4TY作者 | 吴郦军、夏应策来源 | 微软研究院AI头条(ID:MSRAsia)编者按:目前,目标语言端的无标注单语数据已被广泛应用于在机器翻译任务中。然而,目标语言端的无标注数据…

swift 3.0 json解析、字典转模型三种方案
swift3.0发布有一段时间了,发现很多朋友在swift3.0json解析上上遇到很多问题,我这边为大家提三种常见的json方案。 1.第一种是自带的字典转模型,自带的需要实现系统的setValue方法,然后自己还要实现dictToModel方法即可解析&…

海思3559A上编译GDB源码操作步骤及简单使用
1. 从http://ftp.gnu.org/gnu/gdb/ 下载最新稳定版8.3,即gdb-8.3.tar.gz,解压缩; 2. 在gdb-8.3目录下,创建一个build.sh脚本文件,内容如下: ./configure \--prefix"$PWD/install" \--targetaar…

Hibernate之继承映射
Hibernate的继承映射可以理解为两个持久化类之间的继承关系 例如老师和人之间的关系 持久化类 Person类 public class Person { private Integer id; privvate String name; private String sex; public Person (){} // 无参构造器 p…
AutoML未来可期,工程师的明天何去何从?
人工智能和机器学习建模专业技术人才紧缺,即使是高水平的人工智能专家,在大数据智能分析机器学习建模时,主要依靠人工经验,建模过程费时费力,缺少有效方法。为了解决这一突出问题,国内外出现了一种用机器学…

海思3559A上编译Valgrind源码操作步骤
注:按照以下步骤可以在海思板子上正常编译valgrind源码并生成valgrind可执行文件,但可能还不能在海思板子上正常使用。 1. 从http://valgrind.org/downloads/?srcwww.discoversdk.com 下载Valgrind 3.15.0即valgrind-3.15.0.tar.bz2; 2. 在valgrind-3…

Swift之SDWebImage第三方框架
在学习Swift过程中,最害怕的使用了OC的第三方框架 好不容易配置成功了,却出现了意外的Bug [UIImageView setImageWithURL:]: unrecognized selector sent to instance解决办法 第一次配置的时候,因为百度了教程,所以一次性成功…