[TOC]
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
静态库的链接顺序:
live/liveMedia/libliveMedia.a live/groupsock/libgroupsock.a live/BasicUsageEnvironment/libBasicUsageEnvironment.a live/UsageEnvironment/libUsageEnvironment.a5. 说明
由于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. 应用实例
待续
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:live555在海思芯片上的使用 https://www.yhzz.com.cn/a/20794.html