Linux环境下Dart程序无法加载libserialport.so动态库求助
解决Dart libserialport无法加载libserialport.so的问题
这个错误是因为系统中缺少libserialport底层动态库,Dart的libserialport包依赖该库才能正常工作,解决步骤如下:
1. 安装系统级libserialport库
根据你的Linux发行版选择对应命令:
- Debian/Ubuntu 系列:
sudo apt-get update && sudo apt-get install libserialport0 libserialport-dev - RHEL/CentOS/Fedora 系列:
sudo dnf install libserialport libserialport-devel - Arch Linux 系列:
sudo pacman -S libserialport
2. 确认库的搜索路径
安装完成后,检查系统是否能识别该库:
ldconfig -p | grep libserialport
如果输出包含libserialport.so的路径,说明系统已能找到它。如果无输出,需手动添加路径:
# 先定位库的实际位置 find /usr -name libserialport.so # 假设路径为/usr/local/lib,临时添加到环境变量 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib # 永久生效可将上述命令写入~/.bashrc或/etc/profile
3. 源码编译安装(可选,系统包版本不兼容时使用)
若系统仓库的版本无法适配需求,可手动编译源码:
git clone https://sigrok.org/git/libserialport.git cd libserialport ./autogen.sh ./configure make sudo make install sudo ldconfig
4. 重新运行程序
完成上述操作后,再次执行:
dart run
程序即可正常加载动态库并运行。
内容的提问来源于stack exchange,提问作者Dimitrios Desyllas
相关产品推荐
相关产品推荐

