1.背景:
Qt Creator ROS2 没有提供官方集成(2024-10-12),用 Github 开源插件 ros_qtc_plugin(参见我的另一篇博客 Ubuntu22 Qt6.6 ROS 插件, 使 Qt Creator 可编译ROS工程)。由于Qt 版本变化,插件突然失效,Qt 无法打开我的 ROS2 工程。没时间调研,暂时采取注释掉 CMakeLists 文件中ROS2 相关内容,Qt Creator 仅用来编辑 Qt UI 页面,命令行编译方式workaround。
Shell 脚本功能:修改CMakelists.txt,注释/取消注释 #ros2 start 和 #ros2 end 之间的内容(不包括这两行,以及其他注释)
2. sed 命令解释
# 使用sed取消注释ROS相关内容
sed -i '/#ros2 start/,/#ros2 end/{/^#ros2 start/!{/^#ros2 end/!s/^/#/}}' "$file" && \
echo "ROS content uncommented in $file"
这里的sed命令使用了以下参数:
-i:直接对文件进行编辑(in-place),不输出到标准输出。/#ros2 start/,/#ros2 end/:指定了一个范围,从包含#ros2 start的行开始,到包含#ros2 end的行结束。{...}:对范围内的行执行多个命令。</

最低0.47元/天 解锁文章
7245

被折叠的 条评论
为什么被折叠?



