GitHub上有一个Stars数为1.5K的开源串口通信库,其地址为:https://github.com/wjwwood/serial。下面讲述该串口库如何在Windows上进行编译。
首先,打开Git Bash,然后输入以下命令行,将该工程克隆到本地——对应目录下会多出一个serial文件夹。
git clone https://github.com/wjwwood/serial.git
接着,用Cmake对该工程进行构建。如图1所示。点击“Configure”后,会提示以下错误:find_package找不到一个叫catkin的package。我们打开该工程的CMakeLists.txt,发现其确实有find_package(catkin REQUIRED)这句代码。此外,在该项目的GitHub主页上,其也明确说明了该项目依赖catkin,如图2所示。
图 1
图 2
那catkin是什么呢?Catkin是Ros自带的工程管理工具——cmake宏和用于构建ROS某些部分的相关python代码的集合。在安装Ros系统时,就会自带安装catkin。其工程也可以在GitHub上找到,网址:https://github.com/ros/catkin
下面我们讲述如何在Windows上编译安装该工程。
首先,打开Git Bash,输入以下命令,将该工程克隆到本地。
git clone https://github.com/ros/catkin.git
接着使用Cmake对该工程进行构建。在构建时,会发现该工程有很多依赖包,我们只要按照错误提示,使用Pip安装相应的包即可。博主在安装时,主要安装了以下依赖包。
catkin-pkg:
empy:
在这里给大家推荐一个查询Python包的网站:PyPI · The Python Package Index
进入后如图3所示。在查找框中输入要查找的包的名字关键字,点击查找,之后其就会将查找结果按照相关度从高到低排列。本文以查找empy包为例,查找结果如图4所示。点击一个你认为是要查找的目标,其就会跳转到该包的详细页面,如图5所示。在图5所示的绿色框中,会显示安装该包所需的Pip命令。我们只需将其拷贝到Cmd命令行中,敲击回车,即可开始下载和安装。
图 3
图 4
图5
安装完所需的依赖包后,即可用Cmake对Catkin进行构建。构建完成后,就会在build目录下生成相应的vs工程和解决方案,如图6所示。双击catkin.sln,进入vs开发环境,如图7所示。在左侧工程列表中右键“ALL_BUILD”,选择“重新生成”。成功后,即代表我们已经在电脑上成功安装了catkin包。那么,怎么把该包添加到我们的串口库工程呢?下面我们讲述该过程。
图 6
图7
进入到catkin安装包如图8所示的文件夹位置,复制该文件夹的路径,然后进入到串口库工程所在目录,打开其CMakeLists.txt,在find_package代码之上添加一句set代码,如图9所示,其中的路径即为你刚才所复制的路径。需要注意的是,红色方框内的文本要保持一致。
图 8
图 9
接下来我在再用Cmake构建该工程即可成功,其结果如图10所示。我们打开serial.sln,进入到vs编辑页面,选择“ALL_BUILD”,重新生成,即可得到我们的串口dll,如图11所示。其相应的.lib文件再devel目录下的lib文件夹下。头文件再CMakeLists.txt所在目录下的include文件夹中。
图 10
图 11
最后附上一个链接,是我已编好的库的下载链接:一个跨平台、接口灵活的C++串口通信库-C++文档类资源-CSDN下载
要付费的哦!授人以鱼不如授人以渔,大家可以亲自动手操作下。