Windows での Qt、MinGW、libmodbus ソース コード モードの移植と使用

Windows での Qt、MinGW、libmodbus ソース コード モードの移植と使用


1 はじめに

libmodbus 公式ウェブサイト: https://libmodbus.org/

github ダウンロード: https://github.com/stephane/libmodbus

2023 年 8 月 26 日時点での libmodbus の最新バージョンは 3.1.10 であり、このブログはこのバージョンをベースに移植されています。


2. 移植

libmodbus のソースコードファイルは次のとおりです。

Qt プロジェクト ディレクトリに libmodbus ソース コード ファイルを保存するフォルダー libmodbus-3.1.10 を作成し、そこに modbus-version.h.in をコピーして名前を変更します。

modbus-version.h ファイルを変更し、その中のバージョン情報を実際のバージョン番号に変更します。

libmodbus.pri というファイルを作成し、以下を追加します。


win32:LIBS += -lws2_32

HEADERS += \
    $$PWD/modbus-private.h \
    $$PWD/modbus-rtu-private.h \
    $$PWD/modbus-rtu.h \
    $$PWD/modbus-tcp-private.h \
    $$PWD/modbus-tcp.h \
    $$PWD/modbus-version.h \
    $$PWD/modbus.h

SOURCES += \
    $$PWD/modbus-data.c \
    $$PWD/modbus-rtu.c \
    $$PWD/modbus-tcp.c \
    $$PWD/modbus.c

INCLUDEPATH += $$PWD

以下の図に示すように、modbus-tcp.c ファイルを変更し、winsock2.h と ws2tcpip.h を含む 2 つのヘッダー ファイルを見つけて、上記のマクロ定義 _WIN32_WINNT を追加します。

これが行われる理由については、私の他のブログ投稿を参照してください: Windows での MSYS および MinGW コンパイル環境は、ネットワーク API 使用時にエラーを報告します: `inet_pton' ソリューションへの未定義の参照

次に、それを Qt プロジェクトの .pro ファイルに追加しますinclude($$PWD/libmodbus-v3.1.10/libmodbus.pri)


終わる…

Supongo que te gusta

Origin blog.csdn.net/qq153471503/article/details/132508739
Recomendado
Clasificación