惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
美团技术团队
Last Week in AI
Last Week in AI
Microsoft Azure Blog
Microsoft Azure Blog
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
B
Blog RSS Feed
J
Java Code Geeks
The GitHub Blog
The GitHub Blog
人人都是产品经理
人人都是产品经理
Recorded Future
Recorded Future
The Register - Security
The Register - Security
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
Recent Commits to openclaw:main
Recent Commits to openclaw:main
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
博客园 - 【当耐特】
C
Check Point Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Simon Willison's Weblog
Simon Willison's Weblog
T
Troy Hunt's Blog
P
Privacy International News Feed
S
Security Affairs
The Cloudflare Blog
P
Proofpoint News Feed
G
GRAHAM CLULEY
Engineering at Meta
Engineering at Meta
A
Arctic Wolf
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
D
Docker
S
SegmentFault 最新的问题
N
News | PayPal Newsroom
Cyberwarzone
Cyberwarzone
H
Help Net Security
T
Threatpost
A
About on SuperTechFans
L
LINUX DO - 热门话题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
N
News and Events Feed by Topic
Attack and Defense Labs
Attack and Defense Labs
M
MIT News - Artificial intelligence
Schneier on Security
Schneier on Security
月光博客
月光博客
F
Fortinet All Blogs
L
Lohrmann on Cybersecurity

博客园 - hu晓峰

记winform程序异常排查 记一次wpf 背景图的坑点 【Unity踩坑】Unity项目管理员权限问题(Unity is running as administrator ) 依赖注入 微服务聚合查询 一文读懂Modbus协议:工业设备的“普通话“通信指南 Mysql union与union all有什么区别? 理解Systemd服务重启策略:on-failure vs always Redis分布式锁正确的实现方法 C# 解决串口通讯中,返回数据不完整 字典Dictionary.Add不是把新的元素插入到字典最后面 c# Avalonia 架构开发跨平台应用 ‌索引基数 MySQL InnoDB损坏修复:使用innodb_force_recovery 整数取低字节 C#汉字-区位码相互转化类 avalonia在linux下运行出现Default font family name can't be null or empty问题的解决 ICMP timestamp请求响应漏洞CVE-1999-0524解决方法 详解mysql的for update 使用Redis的SETNX命令实现分布式锁 ASP.NET Core中如何对不同类型的用户进行区别限流
libmodbus编译为64位动态库
hu晓峰 · 2026-01-16 · via 博客园 - hu晓峰

通用方法,记录一下,以便后续参考。

Step 1. 下载libmodbus源码
GitHub - stephane/libmodbus: A Modbus library for Linux, Mac OS, FreeBSD and Windows

Step 2. 生成配置文件
进入libmodbus-master\src\win32目录,在该目录下打开终端,用目录下的configure.js脚本生成配置文件,如下:

可知:

modbus-version.h生成在上级目录(src)中,

config.h生成在当前目录(win32)中。

Step 3. 编译动态库
1. 打开libmodbus-master\src\win32目录下的.sln文件,进入vs项目;

2. 删除原本Header Files中的modbus-version.h头文件,如下:

3. 右击Header Files,添加现有项,将Step 2中生成在src目录中的modbus-version.h文件添加进来;

4. 将编译平台改为Release-x64,如下:

5. 进入项目属性页,将项目配置为动态库,如下:

6. 同时在项目属性页中的链接器-输入的附加依赖项中加入编译依赖的ws2_32.lib文件,如下:

7. Ctrl + B进行编译,编译成功,在项目的\src\win32\x64\Release路径下生成了modbus.dll和modbus.lib库文件,如下:

Step 4. 在自己的项目中使用生成的库文件
动态库的使用方式很简单,不再赘述,可参考之前博客中的用法:

Windows中使用pthread线程库_pthread win32-CSDN博客 中的步骤3,

FFTW库在Windows中的安装和使用_windows 编译fftw3-CSDN博客 中的步骤2.3。
————————————————
版权声明:本文为CSDN博主「伟大的马师兄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38967414/article/details/136824044