脚本
build.sh
#! /bin/bash
#wget http://download.savannah.nongnu.org/releases/exosip/libexosip2-5.1.2.tar.gz
tar xvf libexosip2-5.1.2.tar.gz
chmod +x run.sh
cp run.sh libexosip2-5.1.2
cd libexosip2-5.1.2
./run.sh
这里用浏览器断点下载源码,wget总是出现断线的情况。
run.sh
注意:编译涉及到libosip2
,需要将交叉编译的osip2库放到交叉编译器的libc/usr中,否则会出现osipparser2/osip_message.h: No such file or directory
编译错误。libosip2的交叉编译见https://blog.youkuaiyun.com/weixin_43479963/article/details/109494578
#! /bin/bash
ARM_CROSS_TOOL=/home/z/cross_tool/gcc-linaro-4.9-2016.02-x86_64_arm-linux-gnueabihf/bin
SYS_LIB_DIR=$ARM_CROSS_TOOL/../arm-linux-gnueabihf/libc/usr/
OSIP2_LIB_DIR=/data/project/scm/gb28181/src/libosip2/osip2_arm
export PATH=$PATH:$ARM_CROSS_TOOL
OUT_TARGET=`pwd`/../exosip2_arm
mkdir -p $OUT_TARGET
export CC=$ARM_CROSS_TOOL/arm-linux-gnueabihf-gcc
export CXX=$ARM_CROSS_TOOL/arm-linux-gnueabihf-g++
export AR=$ARM_CROSS_TOOL/arm-linux-gnueabihf-ar
export LD=$ARM_CROSS_TOOL/arm-linux-gnueabihf-ld
export RANLIB=$ARM_CROSS_TOOL/arm-linux-gnueabihf-ranlib
./configure \
--host=arm-linux-gnueabihf \
--prefix=$OUT_TARGET \
--enable-static \
--enable-shared
make -j8
make install
echo "the output files are in $OUT_TARGET"
编译
chmod +x build.sh
./build.sh
输出
ls exosip2_arm/
bin include lib
file exosip2_arm/lib/libeXosip2.so.13.0.0
exosip2_arm/lib/libeXosip2.so.13.0.0: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=47a035788fb8ca67122cd373b8f242dc9b2a266e, with debug_info, not stripped