描述:
(1)libmodbus库是一个基于mingw的c语言modbus库,可以实现modbus主从机功能,但不能在VC环境下使用;
(2)使用mingw包装成与编译环境无关的c语言动态链接库ModbusCDll.dll;
(3)根据mingw编译所得的c语言动态链接库ModbusCDll.dll生成VC链接时需要的ModbusCDll.lib文件;
(4)编写程序使用MSVC编译,并使用ModbusCDll.lib链接,运行时加入ModbusCDll.dll就可以了。
环境:
MingW482 + Qt5.3.2, MSVC2013_32Bit + Qt5.4.0
步骤:
(1)按照 http://blog.csdn.net/zgrjkflmkyc/article/details/44855543 , 生成config.h文件
(2)在QtCreator中 新建项目-->库-->C++库 -->选择共享库
(3)将mingw的编译器选择为gcc(注意不能选为g++)
(4)按照如下结构添加好文件
(5)ModbusCDll.pro文件中内容
TEMPLATE = lib
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
CONFIG += dll
LIBS += -L$$PWD -lws2_32
SOURCES += \
libmodbus/modbus.c \
libmodbus/modbus-data.c \
libmodbus/modbus-rtu.c \
libmodbus/modbus-tcp.c \
kmodbus.c
include(deployment.pri)
qtcAddDeployment()
HEADERS += \
libmodbus/config.h \
libmodbus/modbus.h \
libmodbus/modbus-private.h \
libmodbus/modbus-rtu.h \
libmodbus/modbus-rtu-private.h \
libmodbus/modbus-tcp.h \
libmodbus/modbus-tcp-private.h \
libmodbus/modbus-version.h \
kmodbus.h
(6)kmodbus.h内容
#ifnd