当前位置:   article > 正文

复现教程 | vs2022 编译Libmodbus (x86/x64/Release/Debug) vs2022调用Libmodbus_libmodbus库导入vs使用

libmodbus库导入vs使用

一, 编译

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. 生成一个测试代码,成功下车

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

  1. #include <modbus.h>
  2. #include <iostream>
  3. int main() {
  4. modbus_t* ctx = modbus_new_tcp("192.168.0.211", 8000);
  5. if (ctx == nullptr) {
  6. std::cerr << "Unable to create Modbus context" << std::endl;
  7. return -1;
  8. }
  9. if (modbus_connect(ctx) == -1) {
  10. std::cerr << "Modbus connection failed: " << modbus_strerror(errno) << std::endl;
  11. modbus_free(ctx);
  12. return -1;
  13. }
  14. std::cout << "Modbus TCP connection established" << std::endl;
  15. // 进行Modbus通讯操作,例如读写寄存器
  16. modbus_close(ctx);
  17. modbus_free(ctx);
  18. return 0;
  19. }

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/971417
推荐阅读
相关标签
  

闽ICP备14008679号