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

windows下Qt、MinGW、libmodbus源码方式的移植与使用

windows下Qt、MinGW、libmodbus源码方式的移植与使用


1、前言

libmodbus官网:https://libmodbus.org/

github下载:https://github.com/stephane/libmodbus

截止2023年8月26日时,libmodbus最新版本为3.1.10,本篇博客基于此版本进行移植。


2、移植

libmodbus的源码文件如下所示:

在Qt项目目录下创建文件夹libmodbus-3.1.10用于存放libmodbus的源码文件,并将modbus-version.h.in也复制过去并改名:

修改modbus-version.h文件,将里面的版本信息改为实际的版本号:

创建一个名为libmodbus.pri文件,里面加入:


win32:LIBS += -lws2_32HEADERS += \$$PWD/modbus-private.h \$$PWD/modbus-rtu-private.h \$$PWD/modbus-rtu.h \$$PWD/modbus-tcp-private.h \$$PWD/modbus-tcp.h \$$PWD/modbus-version.h \$$PWD/modbus.hSOURCES += \$$PWD/modbus-data.c \$$PWD/modbus-rtu.c \$$PWD/modbus-tcp.c \$$PWD/modbus.cINCLUDEPATH += $$PWD

修改modbus-tcp.c文件,找到winsock2.h和ws2tcpip.h这两个头文件包含位置,在上方添加宏定义_WIN32_WINNT,如下图所示:

至于为什么这么做,看我另一篇博客解释:windows下MSYS、MinGW编译环境使用网络API时报错:undefined reference to `inet_pton‘解决办法

然后在Qt工程的.pro文件中加入include($$PWD/libmodbus-v3.1.10/libmodbus.pri)就可以了!


ends…

http://www.lryc.cn/news/141356.html

相关文章:

  • leetcode做题笔记104. 二叉树的最大深度
  • 【Luniux】解决Ubuntu外接显示器不显示的问题
  • 【C++初阶】模拟实现list
  • 三维模拟推演电子沙盘虚拟数字沙盘开发教程第13课
  • flask中GET和POST的区别
  • 基于Spring Boot的游泳馆管理系统的设计与实现(Java+spring boot+MySQL)
  • git冲突处理(已commit但忘pull的情况)
  • 嵌入式设备应用开发(发现需求和提升价值)
  • Redis Replication
  • 软件研发CI/CD流水线图解
  • 代码随想录第五十九天
  • “yarn“、“npm“、“cnpm“和“pnpm“的区别
  • 批量将txt文件转化为excel文件
  • StringIndexOutOfBoundsException: String index out of range: 458
  • R语言主成分分析
  • 单片机学习-蜂鸣器如何发出声音
  • 利用敏捷开发工具实现敏捷项目管理的实践经验分享
  • 代码随想录训练营 贪心02
  • Linux安装NVM(简洁版)
  • vue 弹出框 引入另一个vue页面
  • 为Android做一个ShowModal窗口
  • 神经网络的工作原理
  • Pandas数据分析教程-数据清洗-字符串处理
  • Nginx 核心配置
  • yum命令安装程序
  • 什么是CSS中的BFC?
  • 探讨uniapp的页面问题
  • 【跨域异常】
  • 上市公司环境信息披露(含环境负债、管理、监管、业绩与治理披露,2008-2022)
  • 网络基础入门