【无标题】

下载并安装MSYS2

更新系统

在开始菜单栏,打开MSYS2 MinGW 64-bit窗口

运行如下命令

pacman -Syu
pacman -Su

​​在这里插入图片描述

安装构建工具和依赖

pacman -S base-devel mingw-w64-x86_64-toolchain
pacman -S autoconf automake libtool

下载Modbus源码

https://github.com/stephane/libmodbus/releases,我这里下载的是v3.1.11

修改源码使之适应windows系统

  1. 打开src/modubs-tcp.c,修改239 行:

    修改前:

    rc = setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &option, sizeof(int));
    

    修改后:

    rc = setsockopt(s, IPPROTO_TCP, TCP_NODELAY, (const char *)&option, sizeof(int));
    
  2. 修改566行:

    修改前:

    if (setsockopt(new_s, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(enable)) == -1) 
    

    修改后:

    if (setsockopt(new_s, SOL_SOCKET, SO_REUSEADDR, (const char *)&enable, sizeof(enable)) == -1)
    
  3. 修改688行:

    修改前:

    rc = setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(enable));
    

    修改后:

    rc = setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (const char *)&enable, sizeof(enable));
    

修改完毕。
这里的行号可能略有不同,因为我没有直接修改,而是注释了原来的,重新加入了修改内容,可能导致实际行数会略微发生变化。

生成配置文件

在MSYS2窗口中,输入:cd 以上源码路径

输入:./autogen.sh,将会生成configure文件

在这里插入图片描述

输入:./configure --prefix=/f/libmodbus-3.1.11/install

说明,/f/libmodbus-3.1.11为我的源码路径,并且你不能写成f:/libmodbus-3.1.11/install
在这里插入图片描述

输入:make -j8

在这里插入图片描述

输入:make install

在这里插入图片描述

到这里就结束了,在install下可以看到.dll .a .h

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值