;前言
qt自带的serialbus 性能不高而且好像是gpl协议所以就自己编译一个libmodbus代替qtmodbus了
项目中经常需要和各式各样的PLC进行通讯,开始的时候是三菱Q系列,用的是MC协议,后面又对接了欧姆龙的PLC,指不定以后会用哪家的PLC,所以考虑到是不是应该换一个通用性比较强的接口协议,可以省去大量时间和精力。
网上搜了一下,发现Modbus算是比较通用的协议了,也搜到了很多资料,因为对C++ 比较熟悉,所以搜的都是C++ 的Modbus资源。正好找到了libmodbus这个开源库,通读了一遍代码,觉得很不错,很强大,所以有了这篇文章。
;下载 msys2 ;
运行 pacman -Syu --noconfirm
pacman -S --noconfirm git wget tar gzip autoconf automake make libtool patch unzip xz bison flex pkg-config
pacman -S --noconfirm mingw-w64-i686-gcc
pacman -S --noconfirm mingw-w64-x86_64-gcc

;查看pacman安装的包
pacman -Q wget

;测试编译
打开msys2 mingw32
cd libmodbus源代码目录
./configure && make

;qt导入libmodbus库即可

; 添加libmodbus到项目
复制config.h 和src下面的源码,template=lib即可
浙公网安备 33010602011771号