robot_pose_ekf orocos-bfl buildroot

buildroot编译robot_pose_ekf报错查找不到orocos-bfl

在用rk3399编译ros代码过程中,发现编译robot_pose_ekf时候CMakeLists.txt报出

Perhaps you should add the directory containing `orocos-bfl.pc’
to the PKG_CONFIG_PATH environment variable
Package ‘orocos-bfl’, required by ‘world’, not found
CMake Error at /usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:419 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindPkgConfig.cmake:597 (_pkg_check_modules_internal)
CMakeLists.txt:7 (pkg_check_modules)
– Configuring incomplete, errors occurred!

这个问题是查找orocos-bfl的pkgconfig没法找到,所以链接不到这个模块lib和include。这个问题是瑞芯微没有编译orocos-bfl这个包导致的。
先去

https://github.com/ros-gbp/bfl-release

下载orocos-bfl,然后把版本切到

release/kinetic/bfl/0.7.0-2

将文件拷贝ros包目录下(根据自己的目录修改吧)

/root/rk3399-linux-sdk/buildroot/package/rockchip/ros/bfl

添加三个文件
bfl.mk

BFL_VERSION = 1.0.0
BFL_SITE_METHOD = local
BFL_SITE = $(TOPDIR)/package/rockchip/ros/bfl
BFL_DEPENDENCIES = roscpp
$(eval $(cmake-package))
$(eval $(host-cmake-package))

Config.in

config BR2_PACKAGE_BFL
bool “bfl”
depends on BR2_PACKAGE_EIGEN
help
bfl

Config.in.host

config BR2_PACKAGE_HOST_BFL
bool “host bfl”
help
host bfl

弄好这几个文件后,需要运行一次configure ,这个文件生成配置的。具体我也不太懂,想深入学习的同学自己去了解哈。
下面编译器参数需要根据自己的情况去修改

./configure --prefix=/root/rk3399-linux-sdk/buildroot/output/rockchip_rk3399/build/bfl-1.0.0 CC=/root/rk3399-linux-sdk/buildroot/output/rockchip_rk3399/host/bin/aarch64-buildroot-linux-gnu-gcc CXX=/root/rk3399-linux-sdk/buildroot/output/rockchip_rk3399/host/bin/aarch64-buildroot-linux-gnu-g++

配置生成后运行

make host-bfl-dirclean && make host-bfl-rebuild

就生成了 /root/rk3399-linux-sdk/buildroot/output/rockchip_rk3399/host/lib/pkgconfig/orocos-bfl.pc
在这里插入图片描述

这时候就可以去编译robot_pose_ekf了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值