下载:http://www.live555.com/liveMedia/public/
源码:live.2023.07.24.tar.gz
LIVE555 依赖 OpenSSL ,需先交叉编译 OpenSSL 。
Step 1:解压
tar -xvzf live.2023.07.24.tar.gz
cd live/
Step 2:创建安装目录
mkdir arm_live555
Step 3:配置
1)拷贝编译配置,将默认配置 config.armlinux 拷贝到 config.aarch64linux :
cp config.armlinux config.aarch64linux
2)修改,如下:
CROSS_COMPILE?= aarch64-linux-gnu-
COMPILE_OPTS = $(INCLUDES) -I/home/xxx/share/3rdparty/openssl-1.1.1s/arm_openssl/include -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -std=c++11 -fPIC -DNO_STD_LIB
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 = -L/home/xxx/share/3rdparty/openssl-1.1.1s/arm_openssl/lib -lssl -lcrypto
LIBS_FOR_GUI_APPLICATION =
EXE =
PREFIX=/home/xxx/share/3rdparty/live/arm_live555
主要有以下修改点:
- 配置编译器;
- 配置编译安装目录;
- 根据实际情况配置已经交叉编译好的 OpenSSL 头文件和库路径;
- 添加编译参数 -std=c++11 -fPIC -DNO_STD_LIB;
3)执行 genMakefiles,生成 makefile
./genMakefiles aarch64linux
Step 4:编译安装
make
make install
编译可能有如下报错:
报错1:
BasicTaskScheduler.cpp:191:40: error: ‘struct std::atomic_flag’ has no member named ‘test’
编译配置文件 config.aarch64linux 的 COMPILE_OPTS 添加 -DNO_STD_LIB 或者 -std=c++2a 编译参数。
Step 5:重新配置编译
按照之前步凑重新配置编译。