ubuntu16.04交叉编译Poco1.7.8 for arm

环境:ubuntu16.04 x64, arm-linux-gcc  (Sourcery G++ Lite 2010.09-50) 4.5.1


首先,做编译前准备,编译安装OPENSSL,STLport等包,为编译Poco准备依赖包(由于我不使用MySQL和ODBC,所以没有交叉编译安装,需要的可以自行交叉编译安装)。
1. OPENSSL的交叉编译安装(以1.0.0e为准)
       源码下载地址:https://www.openssl.org/source/openssl-1.0.0e.tar.gz
       下载后按如下指令进行编译安装:
       tar -xvf openssl-1.0.0e.tar.gz
       cd openssl-1.0.0e
      ./config CC=arm-none-linux-gnueabi-gcc --prefix=/opt/arm-cross-tools/openssl
       make
       make install
       安装完成后把/opt/arm-cross-tools/openssl/lib所有文件超链接到交叉编译器的arm-linux-gcc/arm-none-linux-gnueabi/lib下,/opt/arm-cross-tools/openssl/include/openssl目录超链接到arm-linux-gcc/arm-none-linux-gnueabi/include下,超连接名字为openssl。(超链接之后,交叉编译Poco时就无需再修改源码配置openssl路径了)
2. 编译STLport
       源码下载地址:https://nchc.dl.sourceforge.net/project/stlport/STLport/STLport-5.2.1/STLport-5.2.1.tar.bz2
       下载后按如下指令进行编译安装:

       tar -xvf STLport-5.2.1.tar.bz2

       修改文件:STLport-5.2.1/stlport/stl/_cstdlib.h,

       94行由#      if !defined(__sun)替换为

#      if !defined(__sun) && !defined (__arm__) && !defined (__sh__)

       150行由#    if !defined (__sun)替换为

#    if !defined (__sun) && !defined (__arm__) && !defined (__mips__) && !defined (__mipset__) && !defined (__sh__)

       cd STLport-5.2.1

       ./configure --target=arm-linux --prefix=/opt/arm-cross-tools/STLport
       make

       make install

       cd /opt/arm-cross-tools/STLport/arm-linux-lib

       ln -s -f libstlport.so libstlport_arm-linux-gcc.so 

       安装完成后把/opt/arm-cross-tools/STLport/lib所有文件超链接到交叉编译器的arm-linux-gcc/arm-none-linux-gnueabi/lib下,/opt/arm-cross-tools/STLport/include/stlport目录超链接到arm-linux-gcc/arm-none-linux-gnueabi/include下,超连接名字为stlport。(超链接之后,交叉编译Poco时就无需再修改源码配置stlport路径了)


然后,做Poco编译安装
3. 编译安装Poco
       源码下载地址:https://pocoproject.org/releases/poco-1.7.8/poco-1.7.8-all.tar.gz
       tar -xzvf poco-1.7.8-all.tar.gz
       cd poco-1.7.8-all
       ./configure --config=ARM-Linux --no-tests --no-samples --omit=Data/ODBC,Data/MySQL --prefix=/opt/arm-cross-tools/Poco --static --shared
       make
       make install

       到此Poco就交叉编译安装完成了。


需要注意的是:arm-linux-gcc  (Sourcery G++ Lite 2010.09-50) 4.5.2编译时,在编译XML的xmltok.c时无法通过,这点我编译了好几天一直没搞明白怎么回事,还望有知道的同仁多多指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值