phao.mqtt.c在ubantu上生成交叉编译环境下的库

2024-03-09 18:59

本文主要是介绍phao.mqtt.c在ubantu上生成交叉编译环境下的库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1:背景

在ubantu上进行交叉编译是一般会用到交叉编译器:例如arm-linux-gnueabihf-gcc。这样就会在x86 64位的架构下生成arm架构下可以执行的代码。
如果使用到交叉编译器中没有的库,就会报错
在这里插入图片描述

在ubantu上安装后对应的库文件后,在makefile中指定库的路径。就会找ubantu上的库,由于在ubantu上安装的库是x86 64位的,就会导致文件不符合。下面是库文件的路径。
在这里插入图片描述
在makefie中添加库文件的路径
在这里插入图片描述

再次编译会报文件格式不符合的错误
在这里插入图片描述
通过file查看下文件可以看出文件支持的架构和系统的位数。
在这里插入图片描述

2:解决方法

使用交叉编译器编译就得有对应得库文件。那么只要使用交叉编译器对安装包编译。生成32位arm架构得库就可以了
1:下载

git clone https://github.com/eclipse/paho.mqtt.c.git

2:新建文件夹保存生成的文件

cd paho.mqtt.c
mkdir build_arm

3:指定编译器编译

cmake .. -DPAHO_BUILD_STATIC=TRUE -DCMAKE_C_COMPILER=/usr/local/linaro49/bin/arm-linux-gnueabihf-gcc
make

… 表示CMakeLists.txt所在的相对路径

-DPAHO_BUILD_STATIC=TRUE 表示生成静态库,不需要可以不加,默认为FALSE。

-DCMAKE_C_COMPILER=xxx 表示指定交叉编译工具链的绝对路径。

查看生成的库文件
在这里插入图片描述
4:找一个路径存放生成得库文件
在Makefile指定你存放库文件的位置

再次编译就会发现报错消失一个
在这里插入图片描述

这篇关于phao.mqtt.c在ubantu上生成交叉编译环境下的库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/791656

相关文章

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram