当前位置:网站首页>搭建ros交叉编译环境(从x86到nvidia arm)
搭建ros交叉编译环境(从x86到nvidia arm)
2022-08-04 12:50:00 【华为云】
方法1:
交叉编译环境搭建流程
- 交叉编译环境搭建的主要思路是利用catkin提供的rostoolchain脚本设置相应的交叉编译工具、lib库地址等,中间遇到问题再针对性解决。
基础环境:
- 目标运行环境
- arm64 cpu
- Ubuntu 16.04
- ros kinetic for arm
- 编译环境
- x86_64 cpu
- Ubuntu Kylin(16.04)
- ros kinetic for amd64
环境设置流程:
1 ARM ubuntu环境上安装arm-indigo版本,后面需要将这个arm版本copy到交叉编译环境上
2 x86环境上安装docker(ubuntu)
3 下载docker-ros(ubuntu)镜像, 加载启动docker-ros(ubuntu+ROS)镜像
4 安装 sudo apt-get install g++-arm-linux-gnueabihf
5 将docker环境中中x86版本的indigo替换成arm版本的indigo,
替换之前需要备份x86版本indigo的lib,因为这些库文件在运行ros时是需要的。
将x86版本indigo的lib保存到localpath目录下,设置export LD_LIBRARY_PATH=localpath,
实现运行ros命令时使用x86的lib库。
6 将arm环境下的库文件/头文件 copy到docker环境中,目录可以自己设定比如:/$ENV{HOME}/cross-compiling/ubuntu-rootfs
7 配置rostoolchain.cmake文件
8 修改/opt/ros/indigo/share/catkin/cmake/tools/rt.cmake
9 个人理解cmake交叉编译过程就是修改cmake搜索链接库文件位置的过程,正常编译会搜索x86库文件做在位置,
交叉编译需要将搜索位置切换到目标架构需要的库文件存放位置,比如/$ENV{HOME}/cross-compiling/ubuntu-rootfs
实现方法:
修改catkin_INCLUDE_DIRS catkin_LIBRARY_DIRS,将这两个变量中指向x86系统的位置,修改为指向交叉编译依赖文件存放位置
…详情请参考
边栏推荐
猜你喜欢

来 TDengine 开发者大会,洞悉数据技术发展的未来趋势

Access Huawei game anti-addiction, click the anti-addiction pop-up window, the game crashes

Why is Luo Zhenyu's A-share dream so difficult to fulfill?

未来已来,只是尚未流行

视觉SLAM十四讲学习笔记 第7讲 视觉里程计

聚焦数据来源、数据质量和模型性能构建小微企业信用画像

leetcode 48. Rotate Image 旋转图像(Medium)

MySQL - Explain详解

num_workers

使用SQLServer复制数据库
随机推荐
rpm安装提示error: XXX: not an rpm package (or package manifest):
Two years of independent development experience Programmers tell us the experience of making money (listen to the masters who really make money)
使用SQLServer复制数据库
LeetCode_3_无重复字符的最长子串
Django框架MySQL数据库到models模型的映射关系
Billboard
【解决方案 三十一】Navicat数据库结构同步
Why is Luo Zhenyu's A-share dream so difficult to fulfill?
oracle sql中根据条件判断是否插入数据
缓存中间件技术选型Memcached、MongoDB、Redis
A comprehensive understanding of MOS tubes, an article is enough
手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果
ES 节点2G内存分析
什么是 DevOps?看这一篇就够了!
“蔚来杯“2022牛客暑期多校训练营4 N
分布式链路追踪Jaeger + 微服务Pig在Rainbond上的实践分享
手搓一个“七夕限定”,用3D Engine 5分钟实现烟花绽放效果
MySQL - Explain explanation
面试官:连 INSERT INTO SET 都不知道怎么用,你这3年都干些什么了?
“蔚来杯“2022牛客暑期多校训练营3 C
