linux 下 交叉编译 libxml2 mqttlib

libxml2:

源码:ftp://xmlsoft.org/libxml2/libxml2-git-snapshot.tar.gz

export PATH=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/:$PATH

./configure  --prefix=/opt/libxml2armchangyang/ CC=arm-fsl-linux-gnueabi-gcc CXX=arm-fsl-linux-gnueabi-g++ AS=arm-fsl-linux-gnueabi-as RANLIB=arm-fsl-linux-gnueabi-ranlib  --without-zlib  --without-python 

提示 ./libtool中arm-fsl-linux-gnueabi-gcc 不可用

改为

./configure  --prefix=/opt/libxml2armchangyang/ CC=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-gcc CXX=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-g++ AS=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-as RANLIB=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-ranlib  --without-zlib  --without-python 

提示需要输入--host

改为:

sudo ./configure --host=arm-fsl-linux --prefix=/opt/libxml2armchangyang/ CC=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-gcc CXX=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-g++ AS=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-as RANLIB=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-ranlib --without-zlib --without-python

成功执行

继续

sudo make CC=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-gcc CXX=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-g++ AS=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-as RANLIB=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/arm-fsl-linux-gnueabi-ranlib

sudo make install

之后去 /opt/libxml2armchangyang/lib 文件夹下找需要的.a文件

生成编译文件只能用于基础的开发 不支持python 和zip的压缩开发 所有需要将所有的包多编译后再进行编译

mosquitto

源码 https://mosquitto.org/files/source/

版本 mosquitto-1.4.15.tar.gz

修改config.mk

WITH_TLS:=no

WITH_TLS_PSK:=no

WITH_THREADING:=yes

WITH_BRIDGE:=yes

WITH_PERSISTENCE:=yes

WITH_MEMORY_TRACKING:=yes

WITH_SYS_TREE:=yes

WITH_SRV:=no

WITH_UUID:=no

WITH_WEBSOCKETS:=no

WITH_EC:=yes

WITH_DOCS:=no

WITH_SOCKS:=yes

再执行

export PATH=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/:$PATH

make CC=arm-fsl-linux-gnueabi-gcc CXX=arm-fsl-linux-gnueabi-g++ AS=arm-fsl-linux-gnueabi-as RANLIB=arm-fsl-linux-gnueabi-ranlib  

sudo make intall

再到lib文件夹下找需要的包

该编译版本去掉了很多乱七八糟的其他复杂功能 ,如果需要,酌情修改config.mk,将那些no的改会yes。

原文地址:https://www.cnblogs.com/skycandy/p/9475714.html