Linux下使用SerialPortStream

SerialPortStream是一个跨平台的串口类库,可以运行在Windows和Linux系统上。直接将其部署在Linux上会抛出DllNotFoundException异常,其内容为“Unable to load shared library 'libnserial.so.1' or one of its dependencies.”。这是因为SerialPortStream需要在Linux系统中使用CMake单独编译libnserial.so,而且使用不同的Linux系统需要分别编译该依赖库。

本文使用Linux环境为:Raspbian GNU/Linux 10 (buster)。

1、安装CMake

如果已经安装CMake则跳过该步骤。

sudo apt update
sudo apt install -y cmake
cmake –version

2、编译libnserial.so

git clone https://github.com/jcurl/RJCP.DLL.SerialPortStream
cd SerialPortStream/dll/serialunix/
cmake . && make && make install

如果目标Linux系统中没有安装Git,也可以在Windows中将RJCP.DLL.SerialPortStream克隆下来后拷贝到Linux系统中。编译好串口依赖库后,生成的.so文件在目录/usr/local/lib/中。

最后,将生成的libnserial.so.1拷贝到目标程序所在文件夹中,重新运行就可以了。

posted @ 2022-08-03 19:50  xhubobo  阅读(902)  评论(0编辑  收藏  举报