注意
以下方式仅保证对应库源码版本编译没有问题,若为其他版本可自行查资料解决 交叉编译前请配置好交叉编译工具bin的环境变量 请自行创建–prefix参数对应的库安装目录
【log4cpp】log4cpp-1.1rc3.tar.gz
配置:
./configure \
CC= arm-linux-gnueabi-gcc \
CXX= arm-linux-gnueabi-g++ \
--host= arm-linux-gnueabi \
--prefix= /home/guest/T3/depends
编译:
make
安装:
make install
【libiconv】
libiconv-1.14.tar.gz
修复源码:
cd srclib
sed -i -e '/gets is a security/d' ./stdio.in.h
配置:
./configure CC= arm-linux-gnueabi-gcc --target= arm-linux --host= arm-linux-gnueabi --enable-shared --enable-static --prefix= /home/guest/T3/depends
编译:
make
安装:
make install
libiconv-1.15.tar.gz
配置:
./configure CC= arm-linux-gnueabi-gcc --target= arm-linux --host= arm-linux-gnueabi --enable-shared --enable-static --prefix= /home/guest/T3/depends
编译:
make
安装:
make install
libiconv-1.16.tar.gz
配置:
./configure CC= arm-linux-gnueabi-gcc --target= arm-linux --host= arm-linux-gnueabi --enable-shared --enable-static --prefix= /home/guest/T3/depends
编译:
make
安装:
make install
【sqlite】sqlite-autoconf-3080700.tar.gz
配置:
./configure \
CC= arm-linux-gnueabi-gcc \
CXX= arm-linux-gnueabi-g++ \
--host= arm-linux-gnueabi \
--prefix= /home/guest/T3/depends
编译:
make
安装:
make install
【openssl】openssl-0.9.8zf.tar.gz
【手动更改Makefile的方式】:
配置:
./Configure linux-elf no-asm shared --prefix= /home/guest/T3/depends --openssldir= /home/guest/T3/libsrc/openssl-0.9.8zf/ssl
手动更改Makefile:
sed -i 's/-m64//g' Makefile
sed -i '/CC= gcc/i CROSS_COMPILE= arm-linux-gnueabi-' Makefile
sed -i -e 's/CC= gcc/CC= $( CROSS_COMPILE) gcc/g' Makefile
sed -i -e 's/AR= ar $( ARFLAGS) r/AR= $( CROSS_COMPILE) ar $( ARFLAGS) r/g' Makefile
sed -i -e 's/RANLIB= \/usr\/bin\/ranlib/RANLIB= $( CROSS_COMPILE) ranlib/g' Makefile
编译:
make
安装:
make install
【export环境变量的方式】:
export CC= arm-linux-gnueabi-gcc
export AR= arm-linux-gnueabi-ar
export RANLIB= arm-linux-gnueabi-ranlib
./Configure linux-elf no-asm shared --prefix= /home/guest/T3/depends --openssldir= /home/guest/T3/libsrc/openssl-0.9.8zf/ssl
【使用以下提供的脚本】:
创建自定义的arm_configure.sh文件,复制粘贴以下内容后执行 sh arm_configure.sh help查看脚本命令及参数帮助
if [ [ $1 == "--help" || $1 == "-help" || $1 == "help" ] ] ; then
echo "help:"
echo " [命令格式] sh arm_configure.sh crosscompileprefix prefixdir openssldir"
echo " [示例] sh arm_configure.sh arm-linux-gnueabi- /home/guest/T3/depends /home/guest/T3/libsrc/openssl-0.9.8zf/ssl "
echo " [其他说明] 执行脚本的方式(1)sh shellfile [param1] [param2] ...(2)赋予脚本执行权限(chmod 777 shellfile)后,执行./shellfile [param1] [param2] ... (3)source shellfile [param1] [param2] ..."
else
export CC= $1gcc
export AR= $1ar
export RANLIB= $1ranlib
./Configure linux-elf no-asm shared --prefix= $1 --openssldir= $2
fi
【curl】curl-7.39.0.tar.gz
配置:
./configure --prefix= /home/guest/T3/depends --host= arm-linux-gnueabi CC= arm-linux-gnueabi-gcc CXX= arm-linux-gnueabi-g++ -with-ssl= /home/guest/T3/depends
编译:
make
安装:
make install