[PLC通讯]开源libmodbus编译32位和64位动态库dll

libmodbus文件介绍

libmodbus 是支持Linux,Mac OS X,window 的一个开源库,支持modbus TCP和RTU 两种模式。libmodbus的github地址为:https://github.com/stephane/libmodbus

文件

  • docs目录 libmodbus库API接口说明文档
  • m4目录 存放GUN m4文件
  • src目录 libmodbus源代码
  • tests目录 自带的测试代码

libmodbus编译32位动态库

1、进入win32文件夹,双击src\win32\configure.js,生成一些配置文件,其中modbus-version.h被生成到上一级文件夹中。

2、用vs2019打开文件modbus-9.sln,进入vs界面。

3、查看项目头文件下的modbus-version.h文件,发现路径不存在,此时移除此文件,在项目上右键添加现有项,找到上一步生成的modbus-version.h,其路径在win32的上一级目录。

4、项目右键属性,链接器-所有版本,删除版本1.0

5、然后32位下选择debug和release模式下分别编译,编译成功后在对应的debug/release文件夹下就生成了modbus.dll和modbus.lib

libmodbus编译64位动态库

1、进入win32文件夹,双击src\win32\configure.js,生成一些配置文件,其中modbus-version.h被生成到上一级文件夹中。

2、用vs2019打开文件modbus-9.sln,进入vs界面。

3、查看项目头文件下的modbus-version.h文件,发现路径不存在,此时移除此文件,在项目上右键添加现有项,找到上一步生成的modbus-version.h,其路径在win32的上一级目录。

4、VS将编译平台修改为release-x64,重新编译
编译平台

5、编译后出现LNK2019错误
编译错误

6、原因是64位缺少依赖库ws2_32.lib,在属性-链接器-输入中添加后重新编译
添加依赖库

7、编译出现LNK1120和LNK2019错误,原因:缺少main函数,项目不能生成exe,这里修改项目属性为生成dll
生成属性错误

8、项目右键属性-常规-配置类型,修改为(动态库.dll)后再次编译
生成属性错误

9、编译成功,没有错误,此时会提示一些编译警告,可以添加预定义消除警告
生成属性错误

预处理定义信息

WIN32
_DEBUG
HAVE_CONFIG_H
DLLBUILD
_CRT_SECURE_NO_DEPRECATE=1
_CRT_NONSTDC_NO_DEPRECATE=1
_WINDOWS
ENABLE_THREADS
_CONST_CORRECT_OVERLOADS
NOMINMAX
FREEGLUT_STATIC

10、重新编译后,顺利生成x64的dll和lib
x64编译成功

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值