以live.2023.01.11为例,进入源码目录:
cp config.armlinux config.imx6ul
原始内容:
CROSS_COMPILE?= arm-elf-
COMPILE_OPTS = $(INCLUDES) -I/usr/local/include -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
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 = -lssl -lcrypto
LIBS_FOR_GUI_APPLICATION =
EXE =
修改后如下:
CROSS_COMPILE?= /home/ctools/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
COMPILE_OPTS = $(INCLUDES) -I/opt/imx6ul_libs/openssl-1.0.2t/include -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64
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/opt/imx6ul_libs/openssl-1.0.2t/lib -lssl -lcrypto
LIBS_FOR_GUI_APPLICATION =
EXE =
PREFIX=/opt/build_live555
输入
./genMakefiles imx6ul
make
make install
即可得到4个静态库
libBasicUsageEnvironment.a
libgroupsock.a
libliveMedia.a
libUsageEnvironment.a
参考config.linux-with-shared-libraries修改,编译动态库配置:
libliveMedia_VERSION_CURRENT=109
libliveMedia_VERSION_REVISION=4
libliveMedia_VERSION_AGE=2
libliveMedia_LIB_SUFFIX=so.$(shell expr $(libliveMedia_VERSION_CURRENT) - $(libliveMedia_VERSION_AGE)).$(libliveMedia_VERSION_AGE).$(libliveMedia_VERSION_REVISION)
libBasicUsageEnvironment_VERSION_CURRENT=2
libBasicUsageEnvironment_VERSION_REVISION=0
libBasicUsageEnvironment_VERSION_AGE=0
libBasicUsageEnvironment_LIB_SUFFIX=so.$(shell expr $(libBasicUsageEnvironment_VERSION_CURRENT) - $(libBasicUsageEnvironment_VERSION_AGE)).$(libBasicUsageEnvironment_VERSION_AGE).$(libBasicUsageEnvironment_VERSION_REVISION)
libUsageEnvironment_VERSION_CURRENT=4
libUsageEnvironment_VERSION_REVISION=0
libUsageEnvironment_VERSION_AGE=1
libUsageEnvironment_LIB_SUFFIX=so.$(shell expr $(libUsageEnvironment_VERSION_CURRENT) - $(libUsageEnvironment_VERSION_AGE)).$(libUsageEnvironment_VERSION_AGE).$(libUsageEnvironment_VERSION_REVISION)
libgroupsock_VERSION_CURRENT=31
libgroupsock_VERSION_REVISION=10
libgroupsock_VERSION_AGE=1
libgroupsock_LIB_SUFFIX=so.$(shell expr $(libgroupsock_VERSION_CURRENT) - $(libgroupsock_VERSION_AGE)).$(libgroupsock_VERSION_AGE).$(libgroupsock_VERSION_REVISION)
#####
CROSS_COMPILE?= /home/ctools/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
COMPILE_OPTS = $(INCLUDES) -I/opt/imx6ul_libs/openssl-1.0.2t/include -I. -O2 -DSOCKLEN_T=socklen_t -DNO_SSTREAM=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -fPIC
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 = -L. $(LDFLAGS)
CONSOLE_LINK_OPTS = $(LINK_OPTS)
LIBRARY_LINK = $(CROSS_COMPILE)gcc -o
LIBRARY_LINK_OPTS = $(LINK_OPTS)
SHORT_LIB_SUFFIX = so.$(shell expr $($(NAME)_VERSION_CURRENT) - $($(NAME)_VERSION_AGE))
LIB_SUFFIX = $(SHORT_LIB_SUFFIX).$($(NAME)_VERSION_AGE).$($(NAME)_VERSION_REVISION)
LIBRARY_LINK_OPTS = -shared -Wl,-soname,$(NAME).$(SHORT_LIB_SUFFIX) $(LDFLAGS)
LIBS_FOR_CONSOLE_APPLICATION = -L/opt/imx6ul_libs/openssl-1.0.2t/lib -lssl -lcrypto
LIBS_FOR_GUI_APPLICATION =
EXE =
LIBS_FOR_LIVEMEDIA_LIB = -L/opt/imx6ul_libs/openssl-1.0.2t/lib -lssl -lcrypto
PREFIX=/opt/build_live555
INSTALL2 = install_shared_libraries
得到
libBasicUsageEnvironment.so -> libBasicUsageEnvironment.so.2.0.0
libBasicUsageEnvironment.so.2 -> libBasicUsageEnvironment.so.2.0.0
libBasicUsageEnvironment.so.2.0.0
libgroupsock.so -> libgroupsock.so.30.1.10
libgroupsock.so.30 -> libgroupsock.so.30.1.10
libgroupsock.so.30.1.10
libliveMedia.so -> libliveMedia.so.107.2.4
libliveMedia.so.107 -> libliveMedia.so.107.2.4
libliveMedia.so.107.2.4
libUsageEnvironment.so -> libUsageEnvironment.so.3.1.0
libUsageEnvironment.so.3 -> libUsageEnvironment.so.3.1.0
libUsageEnvironment.so.3.1.0