一, 编译
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;
}