在Liunx(ubuntu)上编译SerialPortStream基础类库的问题解决

说明

由于.net core 中,已经找不到 serialport 库,使用需要使用第三方框架,可以直接在 Nuget 中搜索

SerialPortStream

开源地址  https://github.com/jcurl/RJCP.DLL.SerialPortStream

怎么使用类库

SerialPortStream在 Windows 下可以正常使用,但是,在 Linux 系统下,必须为 Linux 平台编译支持库编译类库,其类库作者说明如下:

 不然的话,项目打包到Linux时,会出现:

文章作者给出的方法是,自己在 Linux 下编译,可是很多人会在这里失败,输入命令后,无法安装 gcc 和 cmake,以及其它软件。

在这一步中,我走了很多弯路,一开始是在阿里云的Centos7系统上进行编译,老是报莫名其妙的错误,后来,直接在服务器上安装了一个ubuntu Docker容器,

附上镜像地址   Docker Hub

#拉取镜像
docker pull ubuntu

#进入容器
docker run -it -v:/home/serialstream:/home ubuntu /bin/bash

  -v:/home/serialstream:/home 
  注:这个参数的作用是为了后续将容器/home里的编译文件映射到服务器的盘符中,方便复制到本地


#进入容器后的操作
    ** 第一步:系统更新
      apt-get update

    ** 第二步:安装软件GCC C++ cmake
      apt-get install gcc g++ cmake git

    ** 第三步:
    作者的文档说明里有这么一段话:
    To build the libraries, you should have the following prerequisites installed:

    * Google Test
    * Doxygen

    # SO,不管用不用,先装上再说
    apt install libgtest-dev
    apt install doxygen

    ** 第四步:拉取源码并开始编译
    git clone https://github.com/jcurl/serialportstream.git
    cd serialportstream/dll/serialunix
    ./build.sh
    

有些朋友在安装GCC、Cmake时,出现了无法安装的问题。(我是没遇到过,比较幸运)

可以试试这个方法

  编译过后,出现类似的画面,表示已编译完成:

 最后通过 FileZilla 连接到阿里云服务器,把编译好的这三个文件下载下来。

同时也附上FileZilla的下载地址:https://www.filezilla.cn/download/client

更方便的方法

为了避免麻烦和方便使用,我在 Linux 编译支持类库成功后,把需要的文件打包好了。

你只需在 .NET Core 项目中,把文件放进去即可,无需在 Linux 中安装 Gcc/Cmake 和后续编译。

下载链接:https://pan.baidu.com/s/1pLZ78EVPrxT_OSYlcmqHSA 
提取码:5gni

下载这三个文件:

  •  libnserial.so 
  •  libnserial.so.1 
  •  libnserial.so.1.1

把这三个类库,发到你的项目中,随项目一起打包即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持并提出宝贵意见。 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值