昨天把一个工作空间的 lidar_camera_fusion 包拷贝到另外一个工作空间编译,但是名字没有改变,导致 source后系统存在 2 个 lidar_camera_fusion 包,使用的时候总是错误地启动另外一个。
解决方式:把其中一个包的配置信息改变即可,要改变的文件有
CMakeLists.txtpackage.xml
在 CMakeLists.txt 中更改项目名和输出的可执行文件名:
project(更换项目名称)
add_executable(更换可执行文件名称
src/lidar_camera_fusion.cpp
src/main.cpp)
在 package.xml 中更改包的基本信息,这一步不是必须的,与编译无关,但是最好也改下,毕竟要与这个包本身信息同步,以后别人看或者自己回头修改才不会产生疑惑:
<package format = "2">
<name> 要修改的包名 </name>
...

在ROS中,将一个工作空间的包复制到另一个工作空间时,若未改名会导致系统出现两个相同包并引起错误。解决方法是修改被复制包的配置文件,包括CMakeLists.txt中的项目名和输出文件名,以及package.xml中的包信息。完成修改后重新编译,确保每次复制包时更改包名以避免启动错误。
最低0.47元/天 解锁文章
615

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



