live555交叉编译

news2024/11/14 22:38:10

下载live555最新源码:http://www.live555.com/liveMedia/public/live555-latest.tar.gz

如果是要下载具体的live555版本,比如2023.06.14发布的版本,则可以浏览器输入:http://www.live555.com/liveMedia/public/live.2023.06.14.tar.gz

查看我们交叉编译工具的所在路径。可以看到我们的交叉编译工具名称为aarch64-linux-gnu-XXX

针对我们的交叉编译工具,设置环境变量export PATH=XXX:$PATH

通过命令echo $PATH,查看环境变量是否设置成功:

解压我们下载下来的live.XXX.tar.gz,得到live目录,进入该目录。

修改编译配置文件:

vim config.armlinux

将CROSS_COMPILE这行改为:

CROSS_COMPILE=		aarch64-linux-gnu-

增加一行指定live555的安装路径:

PREFIX=/home/cjc/company/Sunmnet/xiangmu2/trunk/common/live/install

将COMPILE_OPTS这行改为:

COMPILE_OPTS =		$(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DNO_OPENSSL=1 -std=c++11 -fPIC

1.其中如果不添加选项-DNO_OPENSSL=1,则编译可能会报找不到openssl的问题

2.如果不添加选项-std=c++11,则编译可能会报错:

RTSPCommon.cpp: 在函数‘const char* dateHeader()’中:
RTSPCommon.cpp:364:34: 错误: ‘nullptr’在此作用域中尚未声明
   if (gmtime_r(&tt, &time_tm) == nullptr) {

3.如果不添加选项-fPIC,则使用编译出来的live555库时,可能会报错:

relocation R_AARCH64_ADR_PREL_PG_HI21 against external symbol `stderr@@GLIBC_2.17' can not be used when making a shared object; recompile with -fPIC

修改完config.armlinux,该文件可能如下所示:

保存config.armlinux内容,退出编辑该文件,然后控制台输入命令:

./genMakefiles armlinux
make
make install

我们可以发现生成了live555的可执行文件,头文件和库(静态库)文件了。

如果我们使用live555的库,链接的时候我们得按照如下顺序:

-lliveMedia -lBasicUsageEnvironment -lgroupsock -lUsageEnvironment

否则可能会报错:undefined reference to......

这是因为在给编译器输入源文件,目标文件或者动态库静态库文件时,如果B文件依赖A文件中的内容,那么B文件应该放在A文件的左边。

参考:

《LIVE555 交叉编译》

《分析live555源码第3集:UsageEnvironment_version.hh之live555的版本信息》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/657579.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPT 模型的工作原理 你知道吗?

动动发财的小手,点个赞吧! Source[1] 简介 当我使用 GPT 模型编写我的前几行代码时是 2021 年,那一刻我意识到文本生成已经到了一个拐点。在此之前,我在研究生院从头开始编写语言模型,并且我有使用其他文本生成系统的经…

GPT-4满分通过MIT本科数学考试这套提示词火了

万万想不到啊,MIT数学考试,被GPT-4攻破了?! 突然有人在最新论文工作中高调宣布: GPT-4在MIT的数学和EECS(电气工程和计算机科学系)本科学位考试中,表现出的能力完全满足毕业要求。…

图解左连接、右连接、内连接、全连接(小白入门)

目录 一、七种连接情况二、左连接具体例子:力扣数据库题目 175. 组合两个表答案1. 连接条件为:on Person.PersonId Address.personId2. 连接条件为:on Person.PersonId ! Address.personId 三、左连接不包含内连接四、右连接五、右连接不包含…

利用腾讯云函数隐藏C2服务器

1、简介 腾讯云函数,可以为企业和开发者提供无服务器执行环境,无需购买和管理服务器,只需要在腾讯云上使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性 安全地运行代码。 C2服务器所有流量通过腾…

CSS入门(网络安全方向)——id与class

CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。 通过使用 CSS 我…

Python电商数据分析系列-薪资预测

Python电商数据分析系列-薪资预测 学习目标: 快速掌握简单且常用的数据分析任务 自己实现预测简单预测任务 学习内容: 搭建 Java 开发环境掌握 Java 基本语法掌握条件语句掌握循环语句 学习对象 想快速入门的本科生转行人员想学习新技能&#xff0c…

【Python】遇到 from PIL import Image 报错怎么办?

嗨害大家好鸭!我是小熊猫~ 很久之前有一个辛苦的小程序员 它在做验证码识别的的时候 遇上了一个小小的错误沙堆 经过它一点也不辛苦的努力,解决了它 于是它决定把这个宝贵的经历分享给大家~ 问题的出现: 前方出现红色波浪线 开始感到有一…

基于风险的测试

测试级别划分 测试级别的划分能对应解决软件开发的复杂性问题。将一个大规模复杂的系统分解,从小的模块开始(单元测试),逐步放大到整个系统级别。 测试类型的设计和安排,将测试类型安排在最适合对应的测试级别中来识别…

精准医疗、空间组学、细胞图谱,腾讯AI Lab用深度学习助力生命科学研究

近日,腾讯 AI Lab 三项研究分别入选国际顶级学术期刊 Nature Methods 和 Nature Communications,再次展示了在生命科学前沿领域上国际领先的技术实力。 这三项研究成果都属于生物细胞研究中的空间组学技术,对于推动精准医疗、细胞图谱绘制、人…

lua自动回收机制gc的理解

gc主要回收哪些垃圾? 在 Lua 中,垃圾回收(garbage collection,简称 GC)机制主要用于回收动态分配的内存和关闭未关闭的文件句柄。具体来说,Lua 的 GC 机制主要用于回收以下类型的垃圾: 对象&am…

力扣日记剑指 Offer II 003

1. 题目 LeetCode 剑指 Offer II 003. 前 n 个数字二进制中 1 的个数 1.1 题意 计算 0 到 n 之间的每个数的二进制表示中 1 的个数 1.2 分析 看时间复杂度,O(32n)应该能过(也就是每个数一位一位去数1的个数),知道low-bit这个运…

插入排序代码

时间复杂度O(n)

开源中文医疗大模型

中文医疗大模型 中文医疗大模型是指通过利用自然语言处理技术和机器学习算法,在大量的医疗文本数据中预训练出来的模型。它可以实现对医疗信息的分类、摘要、问答系统、机器翻译等功能,是医疗行业中的重要工具。在医疗领域中,大规模语言模型&…

答应我,不会回答这五个问题,不要去面试好吗?

1、创建坐席组的功能模块,如何进行测试用例设计? 解答: 功能测试,使用等价类划分法去分析创建坐席的每个输入项的有效及无效类,同步考虑边界值去设计对应的测试用例: 先进行冒烟测试,正常创建…

CSS基础学习--17 布局 - 水平 垂直对齐

一、元素居中对齐 要水平居中对齐一个元素(如 <div>), 可以使用 margin: auto;。设置到元素的宽度将防止它溢出到容器的边缘。元素通过指定宽度&#xff0c;并将两边的空外边距平均分配&#xff1a; <!DOCTYPE html> <html> <head> <meta charset&q…

关于sub-gaussian 和 sub-exponential随机变量的集中不等式

Concentration inequalities under sub-Gaussian and sub-exponential conditions sub-guassian范数和sub-exponential范数&#xff1a; 如果 f k ( X ) f_{k}(X) fk​(X)为sub-gaussian随机变量&#xff0c;则有如下的定理&#xff1a; 应用&#xff1a; 1.向量值集中 2.…

Apache Doris 冷热分层技术如何实现存储成本降低 70%?|新版本特性

在数据分析的实际场景中&#xff0c;冷热数据往往面临着不同的查询频次及响应速度要求。例如在电商订单场景中&#xff0c;用户经常访问近 6 个月的订单&#xff0c;时间较久远的订单访问次数非常少&#xff1b;在行为分析场景中&#xff0c;需支持近期流量数据的高频查询且时效…

mysql索引优化系列(一)

一、不常见的索引失效场景 1、举例 还是之前的member会员记录表&#xff0c;往里面插入十万条数据 drop procedure if exists insert_emp; CREATE PROCEDURE insert_emp () BEGINDECLAREi INT;SET i 1;WHILE( i < 100000 ) DOINSERT INTO member ( NAME, age, address, …

【LeetCode热题100】打卡第24天:单词搜索

文章目录 单词搜索⛅前言&#x1f512;题目&#x1f511;题解 单词搜索 ⛅前言 大家好&#xff0c;我是知识汲取者&#xff0c;欢迎来到我的LeetCode热题100刷题专栏&#xff01; 精选 100 道力扣&#xff08;LeetCode&#xff09;上最热门的题目&#xff0c;适合初识算法与数…

使用花生壳进行内网穿透实验SQLServer

使用的是体验版&#xff0c;进行实验足够了 &#xff08;1&#xff09;输入花生壳帐号密码登录花生壳管理平台&#xff0c;在【内网穿透】界面点击添加映射&#xff1b; &#xff08;2&#xff09;接着需要填写映射ERP服务器的相关内容&#xff1a;①应用类型&#xff1a;ERP系…