Linux libmodbus库编译,libmodbus编译安装使用
【编译】
./configure --host=arm-fsl-linux-gnueabi --enable-static --prefix=[安装路径]/install/
或者
./configure --host=arm-linux --prefix=/opt/libmodbus/install
# make
# make install
其中--prefix为输出目录,
编译中如遇到undefined reference to 'rpl_malloc',删除config.h中237行的"#define malloc rpl_malloc",重新make 。
“--host=arm-linux”表示采用交叉编译,因为编译出来的程序要运行在开发板上。“--prefix=/opt/libmodbus/install”表示libmodbus的安装目录。
编译成功后,在install生成三个目录:include lib share;libmodbus-3.1.4/tests目录下会有测试样例。
把libs目录下的libmodbus.so文件放到开发板中
【测试】
将random-test-server.c中22行"ctx = modbus_new_tcp("127.0.0.1", 1502);"
改成"ctx = modbus_new_tcp(NULL, 1502);",即server监听所有的ip,端口1502,然后编译:
# arm-linux-gcc random-test-server.c -o random-test-server -I /home/linux/libmodbus-3.1.4/install/include/modbus -L /home/linux/libmodbus-3.1.4/install/lib -lmodbus
将编译生成的测试程序放在开发板中。
【运行】
将libmodbus库拷贝到开发板上,如/usr/lib目录下;运行demo程序./random-test-server;
【工程应用】
添加头文件
#include "modbus/modbus.h"
#include "modbus/modbus-rtu.h"
#include "modbus/modbus-version.h"
QtCreator:
然后在工程文件中(.pro)添加:
LIBS += -L/opt/libmodbus/install/lib -lmodbus
Linux libmodbus库编译,libmodbus编译安装使用相关推荐
- linux read line,LINUX readline 库的使用,,
LINUX readline 库的使用,, 编译代码时必须链接libreadline 与libtermcap 基只有前者,,将会有如下的链接失败 /usr/lib/libreadline.so: un ...
- CentOS7下编译安装libmodbus库
CentOS7下编译安装libmodbus库 下载libdmodbus源代码 编译安装lidmodbus 测试 参考资料 下载libdmodbus源代码 libmodbus官网下载页面如下图所示: 可 ...
- vs2022 编译libmodbus源码
vs编译libmodbus-C++文档类资源-CSDN下载 项目需要用到了第三方库libmodbus,本文安装的是libmodbus3.1.7,结果如下. 方法一.vs2022编译,默认32 ...
- Linux下通过源码编译安装程序
本文简单的记录了下,在Linux下如何通过源码安装程序,以及相关的知识. 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的 ...
- linux C库编译
本文主要解决以下几个问题 1 为什么要使用库? 2 库的分类 3 创建自己的库 或许大家对自己初学linux时的情形仍记忆尤新吧.如果没有一个能较好的解决依赖关系的包管理器,在linux下安装软件将是 ...
- 深入理解Linux软件包的配置、编译与安装
深入理解Linux软件包的配置.编译与安装 发布时间:2007.09.24 06:23 来源:赛迪网 作者:kit 从源代码安装过软件的朋友一定对 ./configure & ...
- Linux 之旅 21:编译安装软件
Linux 之旅 21:编译安装软件 图源:pexcel 开源软件的安装与升级 可执行文件 通常,源代码只有被编译成二进制的可执行文件后才能在操作系统上被用户直接运行,比如: [icexmoon@xy ...
- 文件系统层次结构标准和Linux上下载源代码配置编译安装
一.文件系统层次结构标准 FHS_3.0 标准文档 /bin 存储一些二进制可执行命令文件, /usr/bin 也存放了一些基于用户的命令文件. /sbin 存储了很多系统命令, /usr/sbin ...
- 音视频开发5. ZLMediaKit库入门使用 编译安装
音视频开发5. ZLMediaKit库入门使用 编译安装 一. ZLMediaKit 库简介 二.编译 三.生成物 1. MedisServer 2. SDK (c语言) 3. 测试程序 4. 问题处 ...
- cmake 编译 linux 库,使用CMake编译跨平台静态库
在开始介绍如何使用CMake编译跨平台的静态库以前,先讲讲我在没有使用CMake以前所趟过的坑.由于不少开源的程序,好比png,都是自带编译脚本的.咱们可使用下列脚原本进行编译:linux . / c ...
最新文章
- 你的sql查询为什么这么慢?
- python运行过程中会被编译成二进制_Python代码在运行过程中,会被编译成二进制代码。_学小易找答案...
- kafka集群管理工具kafka-manager
- 小程序学习(一):点击爱心变色 -- 最简单的事件实现
- 周口a货翡翠,泸州a货翡翠
- 【java】变量的应用
- 关注的计算机视觉研究组和个人主页列表
- 线性回归--深度学习
- 计算机硬件基本维护方法,计算机硬件全面维护的原则与方法探究
- 卫星遥感数据处理软件SeaDAS
- 大雪坪剑来 Spring Cloud 教程(二):Spring Boot 集成 mybatis 实现增删改查
- Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion
- 小米路由器登录服务器无响应是怎么回事,小米路由器登录界面打不开怎么办? | 192路由网...
- YOLOv5的损失函数
- oracle备库归档文件没有应用,主库拷贝归档日志过备库,无法应用
- Fatfs f_unlink()API用法
- Jsp格式化显示Date类型数据
- pdf转换成cad软件哪个好
- 涨知识!用 Python 实现植物大战僵尸代码
- 【撷英采华】阿里面试Linux基础笔试题-含答案