正常流程走下来应该是这样的
前置准备
sudo apt-get install python3-bloom
sudo apt-get install fakeroot
切换到工作目录(有package.xml的目录下)
bloom-generate rosdebian --ros-distro 你的ros版本
例:
bloom-generate rosdebian --ros-distro noetic
之后应该可以在当前目录下看到一个文件夹 debian
下面有rules
fakeroot debian/rules binary
等待编译完成,就会在上层目录生成.deb
文件
在使用自定义ros包生成其他包时,如果使用bloom-generate rosdebian --ros-distro noetic
时会报错,显示
Could not resolve rosdep key 'node_a''
Try to resolve the problem with 'node_a' and then continue.
解决:
新建一个yaml文件,可以自定义名字
sudo vim
之后在vim中,输入i
,进入编辑模式,键入依赖的包名,例如
依赖_包名_a:ubuntu: [依赖-包名-a]
依赖_包名_b:ubuntu: [依赖-包名-b]
注:ubuntu:
前面有两个空格,后面有一个空格
输入完成后,按esc进入命令模式,输入:w rosdeb.yaml
保存,之后:q
退出vim
在rosdeb.yaml文件所在目录下输入pwd
查看路径,复制该路径
找到/etc/ros/rosdep/source.list.d
目录,继续使用vim,修改20-default.list
sudo vim 20-default.list
添加 yaml file:///复制的路径/rosdep.yaml
注:file后面一共三个 /
运行rosdep update
等待更新完成
bloom-generate --ros-distro ros的版本比如 bloom-generate --ros-distro noetic
fakeroot debian/rules binary
就可以完成对ros包的编译
参考:How to make a debian from a ROS package
下一篇:C#基础教程14 结构体