unbuntu 18.04.6 64位系统,交叉编译mqtt+openssl arm库

在Linux x86_64系统上编译arm系统上用的mqtt库,集成openssl库。
在unbantu 18.04.6 64位系统上验证通过  mqtt版本:1.3.6,openssl版本:1.1.1g

交叉编译Openssl arm库
1.安装交叉编译工具:
下载:https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/
放到/root/build_tool/并解压缩
cd /root/build_tool/
sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

2.修改环境变量:
vim /etc/profile 在最后面增加
export PATH=$PATH:/root/build_tool/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/build_tool/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/lib
source /etc/profile

3.检查是否生效:
arm-linux-gnueabihf-gcc -v
出现gcc version 4.9.4 (Linaro GCC 4.9-2017.01)信息,说明交叉编译工具配置成功。

4.编译Openssl 
将Openssl代码放到/root/mqtt_build/openssl-OpenSSL_1_1_1g/下面
cd /root/mqtt_build/openssl-OpenSSL_1_1_1g/
chmod +x *

5.配置编译选项
 ./config no-async no-asm shared --prefix=/root/openssl_arm/ssl_arm --cross-compile-prefix=arm-linux-gnueabihf-

6.需要将64选项移除
sed -i 's/-m64//' Makefile

7.make && make install
如果报make命令未找到,执行以下命令
sudo apt-get install make

8.编译成功的头文件,库就会放到/root/openssl_arm/ssl_arm文件夹下


交叉编译mqtt arm库
1.将编译代码解压缩到:/root/mqtt_build/paho.mqtt.c-1.3.6/

2.新建以下目录:
/root/mqtt_build
/root/mqtt_build/share/man/man1
/root/mqtt_build/include
/root/mqtt_build/lib
/root/mqtt_build/bin

//使用cmake方式编译
//安装cmake
sudo apt-get install cmake

//修改环境变量
vim /etc/profile
export OPENSSL_ROOT_DIR=/root/openssl_arm/ssl_arm
export OPENSSL_LIBRARIES=/root/openssl_arm/ssl_arm/lib
source /etc/profile

//配置cmake编译选项
要先到mqtt代码目录下:cd /root/mqtt_build/paho.mqtt.c-1.3.6/
cmake -DPAHO_WITH_SSL=TRUE -DOPENSSL_ROOT_DIR=/root/openssl_arm/ssl_arm
cmake -DCMAKE_INSTALL_PREFIX=/root/mqtt_arm/
cmake -DPAHO_BUILD_STATIC=TRUE -DPAHO_BUILD_SHARED=TRUE
cmake -DCMAKE_C_COMPILER=arm-linux-gnueabihf-gcc
cmake -DCMAKE_BUILD_TYPE=Debug -DPAHO_BUILD_SAMPLES=TRUE

//重新生成Makefile
cmake .

make

make install
 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值