当前位置: 首页 > news >正文

网站怎么做百度地图外贸电商网站开发价格

网站怎么做百度地图,外贸电商网站开发价格,做资源下载网站违法吗,国内新闻大事20条交叉编译 MQTT/Mosquitto 概述 Eclipse Mosquitto 是一个开源(EPL/EDL许可)消息代理,它实现了 MQTT 协议版本 5.0、3.1.1 和 3.1。Mosquitto 重量轻,适用于从低功耗单板计算机到全服务器的所有设备。 MQTT 协议提供了一种使用发…

交叉编译 MQTT/Mosquitto

概述

logo

Eclipse Mosquitto 是一个开源(EPL/EDL许可)消息代理,它实现了 MQTT 协议版本 5.0、3.1.1 和 3.1。Mosquitto 重量轻,适用于从低功耗单板计算机到全服务器的所有设备。

MQTT 协议提供了一种使用发布/订阅模型执行消息传递的轻量级方法。这使得它适用于物联网消息传递,如低功耗传感器或移动设备,如手机、嵌入式计算机或微控制器。

Mosquitto 项目还提供了一个用于实现 MQTT 客户端的 C 库,以及非常流行的 mosquitto_pubmosquitto_sub 命令行 MQTT 客户端。

  • 官方网址:https://mosquitto.org
  • GitHub: https://github.com/eclipse/mosquitto

下载

如果以商用量产为目的,一般选择正式的发行版本为佳。在官方网址 Download 页面下方会显示最新可下载的源码压缩包。根据需求选择合适的版本进行下载,以最新的 2.0.15 版本为例,在页面下方点击链接下载源码包 mosquitto-2.0.15.tar.gz。

download

也可以直接使用 wget 命令下载:

wget https://mosquitto.org/files/source/mosquitto-2.0.15.tar.gz

如果需要使用特定版本,可以在 https://mosquitto.org/files/ 位置找到 mosquitto 的历史发行版本。进入网页之后选择 source/ 链接,然后选择下载压缩包即可。

交叉编译

解压缩源码包:

tar -xvf mosquitto-2.0.15.tar.gz

解压缩源码包之后建议先阅读 README.md 与 README-compiling.md 文档,里面有关于编译的相关信息。

在 mosquitto 的文档及配置文件中有提及到依赖关系,最主要的是依赖 OpenSSL 与 cJSON 库,如果需要完整编译可以先参考「交叉编译 OpenSSL」与「交叉编译 cJSON」两篇文章。需要注意的点就是,需要使用 make DESTDIR=$BUILDSYSROOT install 将编译产物部署到 sysroot 目录便于 mosquitto 编译时依赖,效果类似于 apt install *-dev 安装开发依赖包。

在 README.md 文档中也提及到,如果不需要依赖 cJSON 可以使用 make WITH_CJSON=no 或者不需要依赖 OpenSSL 时使用 make WITH_TLS=no 的方式来禁用编译依赖。

首先创建一个环境配置文件 aarch64-environment-setup,配置最重要的交叉编译环境变量。

aarch64-environment-setup:

export TOOLCHAIN_ROOT=/opt/toolchains/aarch64--glibc--stable-2022.03-1
export BUILDSYSROOT=$TOOLCHAIN_ROOT/aarch64-buildroot-linux-gnu/sysroot
export PATH=$TOOLCHAIN_ROOT/bin:$PATHexport PREFIX=/usrexport CC="aarch64-linux-gcc --sysroot=$BUILDSYSROOT"
export CXX="aarch64-linux-g++ --sysroot=$BUILDSYSROOT"
export CPP="aarch64-linux-gcc -E --sysroot=$BUILDSYSROOT"
export LD="aarch64-linux-ld --sysroot=$BUILDSYSROOT"
export AR=aarch64-linux-ar
export AS=aarch64-linux-as
export NM=aarch64-linux-nm
export GDB=aarch64-linux-gdb
export OBJDUMP=aarch64-linux-objdump
export OBJCOPY=aarch64-linux-objcopy
export RANLIB=aarch64-linux-ranlib
export READELF=aarch64-linux-readelf
export STRIP=aarch64-linux-stripexport PKG_CONFIG_SYSROOT_DIR=$BUILDSYSROOT
export PKG_CONFIG_PATH=$BUILDSYSROOT/usr/lib/pkgconfig:$BUILDSYSROOT/usr/share/pkgconfig

在本示例中,交叉编译工具位于 /opt/toolchains/aarch64--glibc--stable-2022.03-1/bin 目录下,将该目录配置到 PATH 环境变量,让系统能够正确搜索到。同时在配置 CCCXXCPPLD 环境变量时指定 --sysroot=<dir> 参数让交叉编译器搜索 dir 目录下的头文件与库文件,而不是 /usr/include/usr/lib

source aarch64-environment-setup
make
make prefix=/usr WITH_STRIP=yes DESTDIR=$BUILDSYSROOT install
  • 在源码目录下创建环境配置文件并调用 source 命令让环境变量生效;
  • 执行 make 命令编译源码;
  • 在 config.mk 文件中定义了 prefix 以及 WITH_STRIP 的默认值,根据实际需求在执行 make 指令时重新进行配置;
  • 使用 DESTDIR 参数作为安装目标文件的前缀变量,后面带上你希望安装到的文件夹路径,在本示例中,BUILDSYSROOT 指的是交叉编译工具链的 sysroot 目录,此环境变量在 aarch64-environment-setup 中已定义。更详细介绍可以参考 DESTDIR 官方介绍,也可以参考「交叉编译 libcap」关于 DESTDIR 的用法说明。

最终你就可以在 $BUILDSYSROOT/usr 文件夹中找到交叉编译好的 mosquitto 头文件及库文件。如果需要以软件包的形式发布,可以指定 DESTDIR 为其他目录,比如 DESTDIR=/tmp/sysroot 则最终交叉编译出来的产物会在 /tmp/sysroot 文件夹下。Good luck.

欢迎关注我的公众号:飞翔的小黄鸭
也许会发现不一样的风景


△\triangle 交叉编译 cJSON

http://www.yayakq.cn/news/557718/

相关文章:

  • 东莞网站开发报价开封淘宝网站建设
  • 石景山广州网站建设网站seo怎么填写
  • 渭南做网站费用手工制作大全女生的最爱
  • 厦门市建设局思明建设分局官方网站android 开发wordpress
  • 如何说明学校网站建设情况如何上传网站数据库
  • 国外网站上不去 dnswordpress删除评论
  • 做购物网站需要接口吗凯里网站设计
  • 济南制作网站的公司wordpress会员关注
  • 网站如何引导客户企业自己可以做视频网站吗
  • 为什么要建设网站阿里巴巴网站的建设内容
  • 深圳市做网站公司公司建网站多少
  • 襄阳购物网站开发设计一个县城广告公司利润
  • 网站建设后台管理登陆代码网站内容图片怎么做
  • 加速百度对网站文章的收录门户网站域名
  • 网站设计毕业设计网站建设流程心得
  • 做网站用哪个eclipse微网站外链
  • 昆明网站建设时间sap软件
  • 温州专业微网站制作公司哪家好查域名被墙
  • 上海建设银行官网网站6网站制作报价黑河
  • 网站ui需求成功的微网站
  • 东莞哪家网站建设比较好适合小学生摘抄的新闻2022年
  • 合肥红酒网站建设查找网站建设虚拟目录
  • 建设部网站最新消息网页qq注册新账号免费
  • 百度搜索搜不到网站广州建设工程交易中心专题片
  • 邢台网站优化公司深圳seo优化关键词排名
  • 网站空间托管wordpress video标签
  • 上海做网站好的公司北京网站建设58
  • 建设部网标准下载网站中国十大网站开发公司
  • 网站源码上传完后怎么做台州做网站多少钱
  • wordpress英文换成中文字体山西网站seo