c make libxml2和mqttlib交叉编译
Posted skycandy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c make 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/
修改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。
以上是关于c make libxml2和mqttlib交叉编译的主要内容,如果未能解决你的问题,请参考以下文章