live555移植ARM过程


前言

将live555移植到飞凌OKA40i-C开发板。
开发环境:虚拟机上安装Ubuntu,64位机器。
开发板是arm cortex-a7架构,32位的机器。
根据开发板需要,安装好交叉编译器arm-linux-gnueabi-gcc。
将live555移植到arm,主要有以下过程


一、下载live555

http://www.live555.com/liveMedia/
是live555的官网,官网上有它的介绍以及配置过程介绍。
linux在线下载

wget  http://www.live555.com/liveMedia/public/live.2022.10.01.tar.gz

然后tar命令解压,进入live目录

tar -zxvf live.2022.10.01.tar.gz

二、构建过程

1.主要的步骤

代码如下(示例):

1、复制一份arm版本

cp config.armlinux  config.myarmlinux

2、用vi打开新配置文件进行修改
在交叉编译链选项改成你自己的交叉编译链。比如(使用了绝对路径)

 CROSS_COMPILE?=         /usr/local/arm/gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabi/bin/arm-linux-gnueabi-

3、生成相应的Makefile(后边的参数是因为我的新配置文件也是这个,具体看官网)

./genMakefiles  myarmlinux

4、执行makefile

make

如果出错,不断重复1-4,根据报错修改配置文件。

2.碰到的问题

make后报错,查找不到文件openssl

include/TLSState.hh:34:25 fatal error: openssl/ssl.h: No such file or directory

首先进行openssl的交叉编译。
1、在合适的目录下,在线下载openssl源码,并解压

wget http://distfiles.macports.org/openssl/openssl-1.0.2q.tar.gz
tar -zxvf openssl-1.0.2q.tar.gz

2、进行配置

config no-asm no-async shared --prefix=/home/wang/mylinux/live555/armlive/openssl-1.0.2q/output --cross-compile-prefix=/usr/local/arm/gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabi/bin/arm-linux-gnueabi-

我使用的是绝对路径,
no-asm,在交叉编译过程中不使用汇编代码代码加速编译过程
shared,生成动态库
–prefix,指定生成文件安装路径
–cross-compile-prefix指定交叉编译工具

3、修改Makefile
删去文件的-m64参数,不然会报错
4、执行makefile文件

make 
make install

5、得到安装了Openssl的库和头文件的路径,在1.2中的,live555的配置文件中,通过-I(大i)指定头文件路径

该行选项新增参数
COMPILE_OPTS =    -I/home/wang/mylinux/live555/armlive/openssl-1.0.2q/output/include

6、产生报错请添加图片描述链接器找不到动态库。
尝试了两种方法,1是在配置文件中-L指定缺少的动态库的目录;2是创建软连接放到了交叉编译器的库路径下

COMPILE_OPTS = -L/home/wang/mylinux/live555/armlive/openssl-1.0.2q/output/lib
sudo ln  -s    /home/wang/mylinux/live555/armlive/openssl-1.0.2q/output/lib/libssl.so.1.0.0   /usr/local/arm/gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabi/arm-linux-gnueabi/lib/libssl.so
sudo ln  -s   /home/wang/mylinux/live555/armlive/openssl-1.0.2q/output/lib/libcrypto.so.1.0.0      /usr/local/arm/gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabi/arm-linux-gnueabi/lib/libcrypto.so

之后make通过了,file查看文件

file live555MediaServer

在这里插入图片描述程序放到板子上,确实可以运行。

解决过程学习编译链接过程的书,程序员的自我修养、linux c一站式编程。


总结

对自己移植live555过程进行总结,多读书。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值