HIsi3536移植rtmp(一):编译环境

一:交叉编译rtmp,实现hisi将得到的摄像头数据经过rtmp推流,硬件条件hisi3536

https://blog.csdn.net/u014016672/article/details/72809528

首先搭建环境:需要的库:openssl和zlib库

1:移植编译库openssl库 :这里有openssl-1.0.2m,

步奏:1:tar -zxvf openssl-1.0.2m.tar.gz  cd openssl-1.0.2m,

配置:./config no-asm shared --prefix=/home/haisi/zlib/openssl --cross-compile-preifs=arm-hisiv300-linux

make     makeinstall  生成静态库

2:zlib库的交叉编译:当前使用:zlib-1.2.11.tar.gz,

对于zlib配置不同,配置采用CC=arm-hisiv300-linux-gcc ./configure --prefix=/home/haisi/zlib/zlib

3:rtmp库当前采用:rtmpdump-2.4.tar.gz

修改rtmp文档下的两个makefile,

prefix=/home/haisi/zlib/rtmp
CROSS_COMPILE = arm-hisiv300-linux-
XCFLAGS +=-I /home/haisi/zlib/include
XCFLAGS += -I /home/haisi/zlib/include

XLDFLAGS += -L /home/haisi/zlib/ib
XLDFLAGS += -L /home/haisi/zlib/lib

最终生成链接库:rtmp文件夹下。

4:拷贝生成的rtmp的.h文件到你说需要的目录下,整理所有的.h文件以及库文件,使其编译没有问题,填充头文件,以及填充库

INC_FLAGS += -I$(OPENSSL_MIB_DIR) 修改makefile用来配置所需要的的环境变量。
INC_FLAGS += -I$(RTMP_MIB_DIR)
INC_FLAGS += -I$(ZLIB_MIB_DIR)

MPI_LIBS += $(OPENSSL_LIB)/libcrypto.so 用来添加所依赖的库,
MPI_LIBS += $(OPENSSL_LIB)/libssl.so
MPI_LIBS += $(ZLIB_LIB)/libz.so

$(TARGET):%:%.o $(COMM_OBJ) $(MVS_OBJ)
    $(CC) $(CFLAGS)  -lpthread -lm -o $@ $^ $(MPI_LIBS) $(AUDIO_LIBA) $(JPEGD_LIBA)

以上就可以编译出依赖于rtmp库的可执行文件

通过ldd命令查看可执行程序依赖的共享库:

生成使用的库:librtmp.so.0,libcrpto.so.1.0.0 ,libssl.so.1.0.0 ,libz.so.0

 

你可能感兴趣的:(个人随笔)