Advertisement

ROS 机器人技术 - 解决同一功能包在不同工作空间存在的冲突问题

阅读量:

前日将一个工作空间中的 lidar_camera_fusion 包复制至另一个工作空间并进行编译。这样的操作使得 lidar_camera_fusion 的名称并未更改。因此,在源代码中出现了两个 lidar_camera_fusion 包。使用时程序错误地启动了另一个版本。

解决方式:把其中一个包的配置信息改变即可,要改变的文件有

  • CMakeLists.txt
  • package.xml

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

复制代码
    project(更换项目名称)
    
    add_executable(更换可执行文件名称
      src/lidar_camera_fusion.cpp
      src/main.cpp)

更新该包的核心信息文档;这一操作并非必要;与其说它影响编译过程;但为了确保数据的一致性和可靠性;因为这有助于保持整个项目的一致性;避免未来任何人(包括你自己)在回测或复查时出现混淆或误解。

复制代码
    <package format = "2">
    <name> 要修改的包名 </name>
    	...
    </package>

然后重新编译即可:

复制代码
    catkin_make

在执行复制操作时,请确保更改

全部评论 (0)

还没有任何评论哟~