From fceba32a4198f67c7c69a4e9a2e07e490e40347d Mon Sep 17 00:00:00 2001 From: luokun Date: Mon, 26 Aug 2024 13:20:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D-b=E5=8F=82=E6=95=B0=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 27 +++++++++++++++++++++++++++ common/mbu-common.h | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b0353c..2a05c59 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,33 @@ gcc ./modbus_server/modbus_server.c -I./common -I./libmodbus/src/ -L./libmodbus/ running ======= + +# 静态编译modbuslib +``` +cd libmodbus + +参考 MEADME + +./configure --enable-static +make +make insatll +``` + +# 设置动态搜索路径为当前运行目录 +``` +gcc ./modbus_client/modbus_client.c -I./common -I./libmodbus/src/ -L./libmodbus/src/.libs/ -lmodbus -Wl,-rpath,. -o mbClient + +gcc ./modbus_server/modbus_server.c -I./common -I./libmodbus/src/ -L./libmodbus/src/.libs/ -lmodbus -Wl,-rpath,. -o mbServer + +将libmodbus.so.5放入程序执行目录 +``` + +# 编译静态链接库 +``` +gcc ./modbus_client/modbus_client.c -I ./common -I ./libmodbus/src -l:libmodbus.a -o modbus_client +gcc ./modbus_server/modbus_server.c -I ./common -I ./libmodbus/src -l:libmodbus.a -o modbus_server +``` + If modbus libraries are not in a default location (either it's needed to move libraries to app location or set appropriate environment variable): - on linux it would be: diff --git a/common/mbu-common.h b/common/mbu-common.h index cf43658..57afe43 100644 --- a/common/mbu-common.h +++ b/common/mbu-common.h @@ -79,7 +79,7 @@ int setRtuParam(void *backend, char c, char *value) { switch (c) { case 'b': { rtuParams->baud = getInt(value, &ok); - if (0 != ok) { + if (0 == ok) { printf("Baudrate is invalid %s", value); ok = 0; }