复现教程 | vs2022 编译Libmodbus (x86/x64/Release/Debug) vs2022调用Libmodbus

本文详细指导了如何下载libmodbus源码,配置VisualStudio环境,进行x86或x64编译,并在项目中调用和设置头文件及库路径,提供了一个简单的ModbusTCP连接示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一, 编译

1.下载libmodbus源码并解压

https://github.com/stephane/libmodbus/releases

在releases这里,下载 .zip 版本的源码

2. 点击.js文件配置所需头文件

3.vs打开源码

4.根据使用要求配置工程 

也就是说,如果你要x86 则在此处配置选x86 要x64 则选x64 都是可以编译成功的 

其中,如果选 x64 需要在 连接器-》输入-》 附加依赖项 增加ws2_32.lib

记得这里要选成动态库,然后按下运行进行编译

这个报错是可以忽略的 

这些就是生成的文件

二, 调用

1.复制生成的文件进项目路径中 

不想这么随便的话也可以在项目配置中设置包含路径

2.复制头文件

将所有( libmodbus 源码文件下)有关的 头文件复制进新项目的 libmodbus文件夹(自己新建的项目) 中

3.配置vs工程

并在项目路径中设置包含目录(头文件)。库目录(lib文件目录)。链接器-》输入(lib文件)。

注意x64和debug是对应编译时候的选项的

4. 生成一个测试代码,成功下车

网上随便找的,侵删 ,代码如下::

#include <modbus.h>
#include <iostream>

int main() {

    modbus_t* ctx = modbus_new_tcp("192.168.0.211", 8000);

    if (ctx == nullptr) {
        std::cerr << "Unable to create Modbus context" << std::endl;
        return -1;
    }

    if (modbus_connect(ctx) == -1) {
        std::cerr << "Modbus connection failed: " << modbus_strerror(errno) << std::endl;
        modbus_free(ctx);
        return -1;
    }

    std::cout << "Modbus TCP connection established" << std::endl;

    // 进行Modbus通讯操作,例如读写寄存器

    modbus_close(ctx);
    modbus_free(ctx);

    return 0;
}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值