Background
很多时候,我们想要在原来的project上面进行修改,但是由于一个workspace中,project的名称是唯一的,常常导致无法编译。
Methods
这里先新建一个rospackage_old
包。
catkin_create_pkg rospackage_old rospy roscpp std_msgs
如果想将rospackage_old
改为rospackage_new
, 那么,
1. 修改package文件夹名
将
/rospackage_old/
├── CMakeLists.txt
├── include
│ └── rospackage_old
├── package.xml
└── src
改为:
/rospackage_new
├── CMakeLists.txt
├── include
│ └── rospackage_old
├── package.xml
└── src
2. 修改package.xml
替换所有rospackage_old
成rospackage_new
。
3. 修改CMakeLists.txt
新建包的情况下,只需要修改project名称,但是如果需要有找到package文件路径或者依赖的情况下,则需要修改很多部分,建议直接替代所有字段。
4. 修改文件文件名称以及硬编码
推荐方法,用命令
catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ECLIPSE_MAKE_ARGUMENTS=-j8
编译后导入eclipse,然后替换全部。
ROS使用IDE Eclipse见:http://blog.csdn.net/yangziluomu/article/details/50848357。