live555在海思芯片上的使用

ezreal_cs 2018-04-26 15:06:40 3462

live555在海思芯片上的使用

1. live555源码获取

live555-latest.tar.gz

2. 添加config文件

在live555的根目录live下添加config.armhisiv300linux文件,内容如下:

CROSS_COMPILE?=     arm-hisiv300-linux-
COMPILE_OPTS =      $(INCLUDES) -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -DLOCALE_NOT_USED
C =         c
C_COMPILER =        $(CROSS_COMPILE)gcc
C_FLAGS =       $(COMPILE_OPTS) -Wno-deprecated -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations
CPP =           cpp
CPLUSPLUS_COMPILER =    $(CROSS_COMPILE)g++
CPLUSPLUS_FLAGS =   $(COMPILE_OPTS) -Wall -DBSD=1 -Wno-deprecated -mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations
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 =

3. Make

在live目录中执行

./genMakefiles armhisiv300linux
make

即可完成编译。

4. live555库的使用

头文件路径如下:

  • live/UsageEnvironment/include

  • live/groupsock/include

  • live/liveMedia/include

  • live/BasicUsageEnvironment/include

静态库的链接顺序:

  1. live/liveMedia/libliveMedia.a
  2. live/groupsock/libgroupsock.a
  3. live/BasicUsageEnvironment/libBasicUsageEnvironment.a
  4. live/UsageEnvironment/libUsageEnvironment.a

5. 说明

由于hisiv300使用的是uClibc,没有xlocale.h这个头文件,而live555内部的一个locale模块调用了(见liveMeida/locale.hh),因此通过添加编译选项把它去掉,在COMPILE_OPTS中添加:

-DLOCALE_NOT_USED

而hisiv400使用的是Glibc,不需要添加此选项。

使用GCC3.0或更高版本编译时,在CPLUSPLUS_FLAGS中添加:

-Wno-deprecated

使用过时的特性时不要给出警告。

在使用海思芯片时,编译板端软件,需要根据SDK中的说明添加对应的FLAGS:

-mcpu=cortex-a7 -mfloat-abi=softfp -mfpu=neon-vfpv4 -mno-unaligned-access -fno-aggressive-loop-optimizations

将config.armhisiv300linux修改为config.,并将文件的第一句修改为

CROSS_COMPILE?=     <os-platform-toolchain>

然后运行

./genMakefiles <os-platform>

其中是您的目标平台 - 例如,由“config。 ”文件定义的“linux”或“solaris” 。这将在“live”目录和每个子目录中生成一个Makefile。然后运行“make”。

6. 应用实例

待续

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 点赞 1 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
ezreal_cs
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区