关于打deb包出现的问题记录,以及ROS相关问题记录

首先是打包必备的 CmakeLists 编写:

主要就是 install 安装到系统环境中,可以参考cmake使用教(二) install的使用
本次打包需要安装的有三点:1.可执行文件 2.launch文件/config文件 3.动态库


install(TARGETS ${PROJECT_NAME}_node ${PROJECT_NAME}
  ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
  RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

install(DIRECTORY launch
  DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)

install(DIRECTORY share/location_fusion/lib/
  DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
)

其中动态库有个小地方很容易出现错误,上面的写法和下面的写法是不一样的,上面的写法是正确的,安装的时候并不会包括 lib ,而是只安装 lib 里面的内容,否则的话就会安装成 /lib/lib 目录下!

install(DIRECTORY share/location_fusion/lib
  DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
)

中间在服务器编译出现了个问题,插一下:

terminate called after throwing an instance of 'std::runtime_error'

不知道为什么会出现,解决办法:

export LC_ALL=”en_US.utf8”

安装后,发现库和其他包中同名冲突,两个包同时写在了一个地方,本来是想修改安装地址的,但是一直没有成功,后来干脆换个库名吧,然后就又出现了一个坑!

我想直接更改 .so 的名字,然后跑一下,结果还是会去找之前的包,就很奇怪,干脆重新编译这个库吧,生成的时候就把名字改了,结果就可以运行了!

浪费了挺久的时间。


记录一个刚发现的小知识,普通的可执行文件 调试的话 直接 gdb ./ 就可以,那么对于一个 node 如何使用 gdb 调试呢?

一搜还真有,学到了!

<node launch-prefix="gdb -ex run --args" pkg="livox_mapping" type="scanRegistration_m1" name="scanRegistration_m1" output="screen">

简单又方便,记录一下。


还找到了一篇关于静态库、动态库的文章,很全面很详细!
Linux系统程序运行时加载动态库路径顺序


在测试过程中,topic 回调一直进不去,话题名和类型确认无误,并且在笔记本上正常,一旦进入机器就无法进入回调,困扰了很久,最终排查到原因,记录一下:

[WARN] [WallTime: 1679212342.885326] Could not process inbound connection: Client [/localization_node] wants topic [/navigation_status] to have datatype/md5sum [move_base_msgs/MoveBaseFeedback/22ca97048659da4e2cba790a4f383bcd], but our version has [move_base_msgs/MoveBaseFeedback/e25c7a67891c4b10e6eaa020b50d56da] Dropping connection.{'topic': '/navigation_status', 'tcp_nodelay': '0', 'md5sum': '22ca97048659da4e2cba790a4f383bcd', 'type': 'move_base_msgs/MoveBaseFeedback', 'callerid': '/localization_node'}

通过机器上编译调试,发现是 md5 值对不上,更换新的 move_base_msgs 功能包去编译就没问题,简单来说就是编译功能包和运行功能包不是同一个,虽然是兼容的,坑!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃头队长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值