嵌入式MQTT库移植(基于mosquitto库)

嵌入式MQTT库移植(基于mosquitto库)

一、交叉编译OpenSSL

  1. 下载源码到Linux虚拟机环境:https://www.openssl.org/source/openssl-1.1.1f.tar.gz ,放入非windows共享文件夹目录;

  2. 解压:tar -xvzf openssl-1.1.1f.tar.gz
    cd openssl-1.1.1f

  3. 配置:./config no-asm shared --prefix=/opt/com/openssl ,放入/opt/com/openssl目录是为了安装编译mosquitto更加方便;

  4. 修改Makefile:
    博主的交叉编译工具链目录是:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/,因此将 CROSS_COMPILE 修改为:
    CROSS_COMPILE=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
    并将 CNF_CFLAGS CNF_CXXFLAGS后的-m64去掉;

  5. 保存Makefile,然后make,成功后执行makeinstall;

  6. ls /opt/com/openssl 就能看到安装的OpenSSL库相关文件;

二、交叉编译mosquitto

  1. 下载mosquito源码:http://mosquitto.org/download/
    下载mosquito源码文件
  2. 放入Linux虚拟机解压:tar -xvzf mosquitto-1.6.12.tar.gz
    cd mosquitto-1.6.12
  3. 修改config.mk
    WITH_SRV:=no
    WITH_WEBSOCKETS:=no
    WITH_DOCS:=no
    上一步生成的openssl文件在路径/opt/com/openssl/,因此:
    CFLAGS+=-I/opt/com/openssl/include/ (新增)
    LDFLAGS+=-L/opt/com/openssl/lib -lssl -lcrypto (注意:+=与“CFLAGS”“LDFLAGS”之间不要有空格) (新增)
    根据自己的交叉编译路径,修改STRIP
    STRIP?=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-strip (修改)
  4. 编译
    根据交叉编译路径,执行:
    make CC=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc CXX=/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++
  5. make install
  6. 在mosquitto-1.6.12/lib 生成libmosquitto.so.1库文件;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值