乐趣区

关于机器人:ROS-机器人技术-解决不同工作空间存在相同功能包的问题

昨天把一个工作空间的 lidar_camera_fusion 包拷贝到另外一个工作空间编译,然而名字没有扭转,导致 source 后零碎存在 2 个 lidar_camera_fusion 包,应用的时候总是谬误地启动另外一个。

解决形式:把其中一个包的配置信息扭转即可,要扭转的文件有

  • CMakeLists.txt
  • package.xml

CMakeLists.txt 中更改我的项目名和输入的可执行文件名:

project(更换项目名称)

add_executable( 更换可执行文件名称
  src/lidar_camera_fusion.cpp
  src/main.cpp)

在 package.xml 中更改包的根本信息,这一步不是必须的,与编译无关,然而最好也改下,毕竟要与这个包自身信息同步,当前他人看或者本人回头批改才不会产生纳闷:

<package format = "2">
    <name> 要批改的包名 </name>
    ...
</package>

而后从新编译即可:

catkin_make

当前复制包的时候记得更改一下包的名称,避免零碎中 2 个工作空间存在雷同的包,导致 roslaunch 启动找到另外一个包启动了。

退出移动版