首页 > 其他分享 >交叉编译Eclipse Mosquitto

交叉编译Eclipse Mosquitto

时间:2023-05-13 23:13:06浏览次数:48  
标签:hisiv400 cjson Eclipse openssl 编译 Mosquitto linux arm

0. 交叉编译环境如下

系统:Ubuntu 4.15.0-45-generic #48~16.04.1-Ubuntu SMP Tue Jan 29 18:03:48 UTC 2019 x86_64

目标芯片:Hisi3536 32bit

 

1. 下载所需源码

git clone https://github.com/openssl/openssl.git
git clone https://github.com/DaveGamble/cJSON.git cjson
git clone https://github.com/eclipse/mosquitto.git

交叉编译的源码版本如下:openssl 3.1.0、cjson 1.7.15、mosquitto 2.0.15

目录结构

2. 编译cjson库

进入cjson目录,执行make CC=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/bin/arm-hisiv400-linux-gcc编译生成cjson库

cjson

3. 编译openssl库

进入openssl目录,执行./Configure linux-generic32 --cross-compile-prefix=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/bin/arm-hisiv400-linux-gnueabi- && make -j24编译生成openssl相关库

openssl

4. 编译moquitto

4.1 打开config.mk文件定义编译器相关变量

CROSS_COMPILE:=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/bin/
CC:=arm-hisiv400-linux-gcc
CXX:=arm-hisiv400-linux-g++
AR:=arm-hisiv400-linux-ar
LD:=arm-hisiv400-linux-ld

4.2 修改config.mk文件中cjson、openssl相关头文件、库的搜索路径

config.mk-1

config.mk-2

config.mk-3

注:红色方框系cjson相关头文件、库搜索路径;蓝色方框系openssl相关头文件、库搜索路径

4.3 修改apps\mosquitto_ctrl\Makefile文件中cjson库搜索路径

apps-mosquitto_ctl-Makefile

4.4 修改plugins\dynamic-security\Makefile文件中cjson库搜索路径

plugins_dynamic-security_Makefile

4.5 执行make binary编译mosquitto

 

标签:hisiv400,cjson,Eclipse,openssl,编译,Mosquitto,linux,arm
From: https://www.cnblogs.com/jtchen/p/17398211.html

相关文章

  • postgresql14编译安装参考手册(centos)
    Linux平台编译安装的快捷参考(Centos7.X平台/Pg14beta3为例):说明:postgres官网源码编译安装操作步骤有一些小坑没更新过来,所以参考官网的安装步骤重新整理了一下,PG12,13部署均可以参考该文档。参考链接:下载页面/Download:世界上功能最强大的开源数据库...icon-default.png?t=L892......
  • 野火Linux uboot编译/烧录/移植学习
    首先,要说野火的linux驱动的pdf做得不是很好,代码内容匆匆略过。后来才发现野火有专门的网页,这是驱动部分的章节:https://doc.embedfire.com/lubancat/build_and_deploy/zh/latest/index.html代码都可以下载!!!预备:添加编译器相关①学习:立即生效添加交叉工具链,需要修改/etc/profi......
  • Freebsd 内核编译
    Step1:更改pkg源root@FreeBSD:~# mkdir-p/usr/local/etc/pkg/reposroot@FreeBSD:~#vi/usr/local/etc/pkg/repos/1.ustc.confustc:{url:"pkg+http://mirrors.ustc.edu.cn/freebsd-pkg/${ABI}/latest",mirror_type:"srv",signature_type:&qu......
  • 编译ijkplayer
    https://github.com/bilibili/ijkplayer默认ndk10https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip编译前环境配置#installhomebrew,git,yasmruby-e"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)&qu......
  • iOS反编译IPA重新签名
    1、获取应用的IPAa、打开爱思助手,链接手机,点击引用游戏,搜索想要的APPb、在下载界面点击打开文件夹,拿到IPA文件c、解压IPA包,将IPA包换成zip包,然后在进行解压。2、开始反编译IPA包a、查看包信息,进入Payload文件目录,比如执行该命令:codesign-d-vWeChat.app或者codesign-......
  • Linux驱动开发笔记(三):基于ubuntu的helloworld驱动源码编写、makefile编写以及驱动编译
    前言  前面学习了驱动的基础框架,上一篇编译了gcc7.3.0,那么为了方便很好的熟悉流程,本篇,将使用ubuntu18.04,直接编译ubuntu18.04的驱动,然后做好本篇文章的相关实战测试。 Ubuntu虚拟机准备步骤一:安装虚拟机  本次使用之前rk3568的ubuntu18.04,笔者没有重新弄了,安装......
  • Angular Iv,下一代编译 & 渲染工具!
     AngularIvy是Angular的下一代编译和渲染工具,它带来了速度和大小方面的改进。Ivy是Angular下一代编译和渲染的代号。它提高了构建代码的速度和大小等。Ivy从Angular框架的第9版就开始使用了。在本文中,我们将看到AngularIvy为Angular项目带来的改进。KendoUIforAngular是......
  • Eclipse的TODO标签不在Tasks列表显示
    1.问题描述最近在做一个品管文档查询的功能,由于项目未部署,先本地测试,degug断点修改变量的值,但是每次请求都要改一次,太麻烦。所以直接在代码里面把变量的值改了,但是项目部署前要记得注释掉,这里就用到了TODO标签,防止自己忘掉。2.问题解决在Project下面把BuildAutomatically勾......
  • Python学习之三: 编译二进制
    Python学习之三:编译二进制摘要每次使用python执行py文件其实是比较麻烦的主要是还得安装python的虚拟机,以及安装对应的pip包.感觉比较繁杂理论上最快捷的方式是编译成二进制直接运行.所以这里主要是说一下通过pycharm和linux机器进行二进制编译的过程Pycharm的安......
  • CentOS7编译安装OpenSSL3.1
    CentOS7编译安装OpenSSL3.11.下载Openssl源码包官网:https://www.openssl.org/ [root@localhost~]#wgethttps://www.openssl.org/source/openssl-3.1.0.tar.gz 2.解压安装[root@localhost~]#tar-xvfopenssl-3.1.0.tar.gz-C/usr/local/[root@localhost~]#cd......