LCM通信协议安装[Windows11+MSYS2+CMake3.8+VS2022]
本教程参考 https://github.com/AmyPhung/virtual-control-room/wiki/LCM-Setup-(Windows)
LCM Version
: 1.4.0
Author
:JeanxLiao
Time
:2024/1/3
一、首先拉LCM
的GitHub
项目到磁盘指定位置
二、再安装msys2
,相应为网址为https://www.msys2.org/,注:msys2
是一个微型的gcc ,mingw64
系统,能够让Linux
上的程序在Windows
上运行。
如图Installation
下为exe
,点击下载并安装。
安装完成后如下。
三、到MYSY2 MINGW
中输入以下命令行
pacman -S mingw-w64-x86_64-gtk3
四、安装完成后添加如下系统环境变量
D:\msys2\mingw64\bin
D:\msys2\mingw64\lib
添加完成后如下所示:
配置完系统变量后重启电脑。
五、双击桌面上的CMAKE(GUI)
,如果没有去https://cmake.org/官网下载
打开后选择源代码目录与构建目录,构建目录为源代码目录下的build,没有就创建这个build文件夹
六、此时首先点击configure
按钮,发现报错,将如下内容替换成自己的msys2
的lib
和include
和bin
位置
D:/msys2/mingw64/lib/glib-2.0/include
D:/msys2/mingw64/include/glib-2.0
D:/msys2/mingw64/lib/libglib-2.0.dll.a
D:/msys2/mingw64/bin/libglib-2.0-0.dll
七、再点击configure
按钮发现无报错
八、取消勾选LCM_ENABLE_PYTHON
和LCM_ENABLE_TESTS
,再点击generate
按钮
若出现如下内容则成功
九、点击open project
到VS2022
里如下
十、选中ALL_BUILD
,并选择生成
十一、退出VS2022
,重新以管理员身份打开lcm.sln
项目,然后对INSTALL
生成
十二、到C盘
下查看lib
和bin
有没有生成
如下若出现lib、bin、include
则表示LCM Windows
编译成功。
并将这几个目录放进系统环境变量。
十三、到VS中创建发布订阅数据项目
- 首先定义数据类型数据结构文件
.lcm
,类似于DDS
的idl文件以及gRPC
的proto
文件 - 使用
lcm-gen
工具可将消息类型定义转为C++
所支持的代码,如下所示:
-
在自己创建的项目下导入如下目录
-
C++
附加包含目录设置如下
-
C++
的链接器库目录设置如下
-
并在输入中输入
lcm.lib
1.lcm-gen.exe
用于将lcm文件转为指定编程语言
使用:
lcm-gen -x example_t.lcm
就会生成一个.hpp
文件
2.lcm-logfilter.exe
用于有选择地将日志文件中的通道提取到新日志文件中的实用程序
lcm-logfilter -c <CHAN> [OPTIONS] <source_logfile> <dest_logfile>
Optiosn:
-h prints this help text and exits
-c CHAN POSIX regular expression. Channels matching this expression
will be copied to the destination logfile.
-i invert the regular expression CHAN, so that only channels not
-c CHAN GLib regular expression.
-s START start time. Messages logged less than START seconds
after the first message in the logfile will not be
extracted.
-e END end time. Messages logged more than END seconds
after the first message in the logfile will not be
extracted.
-v verbose mode. Prints a summary of channels extracted
3.lcm-logger.exe
记录日志
4.lcm-tester.exe
测试处理程序注册和注销