【ROS项目交叉编译】——glog、gflags问题

ros, 交叉编译,glog,gflags

1. 链接报错

/home/darknet/CM/profile/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/…/lib/gcc/aarch64-linux-gnu/8.3.0/…/…/…/…/aarch64-linux-gnu/bin/ld: warning: libapr-1.so.0, needed by /usr/lib/aarch64-linux-gnu/liblog4cxx.so, not found (try using -rpath or -rpath-link)
/home/darknet/CM/profile/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/…/lib/gcc/aarch64-linux-gnu/8.3.0/…/…/…/…/aarch64-linux-gnu/bin/ld: warning: libaprutil-1.so.0, needed by /usr/lib/aarch64-linux-gnu/liblog4cxx.so, not found (try using -rpath or -rpath-link)
/home/darknet/CM/profile/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/…/lib/gcc/aarch64-linux-gnu/8.3.0/…/…/…/…/aarch64-linux-gnu/bin/ld: warning: libicui18n.so.60, needed by /usr/lib/aarch64-linux-gnu/libboost_regex.so, not found (try using -rpath or -rpath-link)
/home/darknet/CM/profile/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/…/lib/gcc/aarch64-linux-gnu/8.3.0/…/…/…/…/aarch64-linux-gnu/bin/ld: warning: libicuuc.so.60, needed by /usr/lib/aarch64-linux-gnu/libboost_regex.so, not found (try using -rpath or -rpath-link)

解决
将交叉编译器的版本换成了7.5就ok了,报错的是8.3。

2. 链接问题

/home/darknet/CM/profile/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.3.0/../../../../aarch64-linux-gnu/bin/ld: cannot find -lOpenNI
/home/darknet/CM/profile/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.3.0/../../../../aarch64-linux-gnu/bin/ld: cannot find -lOpenNI2
/home/darknet/CM/profile/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.3.0/../../../../aarch64-linux-gnu/bin/ld: cannot find -lvtkWrappingTools-6.3
/home/darknet/CM/profile/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/8.3.0/../../../../aarch64-linux-gnu/bin/ld: cannot find -lPocoFoundation

用locate找到上面的动态库,再用link_directories(${CMAKE_LIBRARY_PATH})链接到动态库的路径。

3. undefined reference to `QSortFilterProxyModel::staticMetaObject@Qt_5’

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kinetic ROS 是一种基于机器人操作系统(ROS)的版本,主要用于开发和控制机器人。交叉编译是在一个计算机系统上为另一个不同架构的目标系统生成可执行代码的过程。 在进行 Kinetic ROS 交叉编译之前,需要确保目标系统和开发系统具有相同的 ROS 版本和软件库。此外,还需了解目标系统的架构和操作系统。 首先,在开发系统上安装必要的交叉编译工具链和相关软件包。这些工具链包括交叉编译器、连接器和库文件等。可以通过命令行或者包管理器来安装这些工具。 接下来,需要为目标系统交叉编译 ROS 的源代码。首先,从源代码库中获取 ROS 的源代码,并解压到开发系统的工作空间中。然后,通过运行特定的交叉编译命令,将源代码编译成目标系统可以执行的可执行文件。 在编译过程中,可能会遇到一些依赖项缺失的问题。这时,需要在开发系统上安装这些缺失的依赖项,并且确保它们也符合目标系统的要求。 完成编译后,将生成的可执行文件和相关的库文件复制到目标系统中。然后,将所有必要的配置文件和启动脚本等也复制到目标系统上。 最后,将目标系统与开发系统连接起来,并确保两者之间的通信正常。这可能需要对网络设置或者串口通信进行相应的配置。 通过以上步骤,可以成功地将 Kinetic ROS 交叉编译到目标系统中,从而实现在目标系统上进行机器人控制和开发的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值