当前位置: 首页 > news >正文

wordpress 站内资讯淘宝交易指数换算工具

wordpress 站内资讯,淘宝交易指数换算工具,网站设计怎么做才好看,做网站一次付费开发宿主机: ubuntu22.04虚拟机(PC) 目标平台: 地平线x3派/x3 Module , ubuntu22.04, ros2 humble 基于地平线x3开发板 5核 4G的内存的有限的资源,直接在目标机上编译虽然也可以,但耗时太长&a…

开发宿主机: ubuntu22.04虚拟机(PC)

目标平台: 地平线x3派/x3 Module , ubuntu22.04, ros2 humble

基于地平线x3开发板 5核 4G的内存的有限的资源,直接在目标机上编译虽然也可以,但耗时太长,而且还需开启swap交换区并关闭并行编译,否则分分钟内存不足。 交叉编译势在必行!!

由于之前交叉编译经验不足,导致各种问题不断,终经九九八十八难脱离苦海,特记录一下,避免重复踩坑

1. 准备目标机的 rootfs

在开发板中安装所有的依赖项, rootfs的导出过程: 【rootfs 的导出过程】

当依赖项增加或变化时, 可通过 scp 命令直接从目标机中复制到开发机器中

建议将 rootfs 放置在宿主机 /opt 目录下

下方为示例:

scp -r user@arm64-machine:/lib /path/to/rootfs/lib
scp -r user@arm64-machine:/usr/lib /path/to/rootfs/usr/lib
scp -r user@arm64-machine:/usr/include /path/to/rootfs/usr/include

2. 安装配置交叉编译链

起初选择官方提供的交叉编译工具链

curl -fO https://archive.d-robotics.cc/toolchain/gcc-ubuntu-9.3.0-2020.03-x86_64-aarch64-linux-gnu.tar.xz

但官方提供的gcc版本与目标机 的不一致,导致编译时连接错误。

自己制作交叉编译链工具比较繁琐,我这里就偷懒就直接使用apt 安装了,目标机和宿主机都是ubuntu22.04

也可自己制作工具链, 参考 蓝易云 - Ubuntu22.04交叉编译gcc9.5 for arm_ubuntu_百度搜索:蓝易云_InfoQ写作社区

将gcc 版本替换为 gcc11 或更高版本

sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

3. 创建工具链配置文件

创建交叉编译工具链配置文件,设置CMake 编译属性

在开发目录下创建配置 文件 toolchain-aarch64.cmake 内容如下:

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)# 设置交叉编译器
set(CMAKE_C_COMPILER /usr/bin/aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER /usr/bin/aarch64-linux-gnu-g++)# 设置sysroot为从目标系统拷贝出来的rootfs路径
set(CMAKE_SYSROOT /opt/sunrise_fs/rootfs)# 添加include路径(用于头文件搜索)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I${CMAKE_SYSROOT}/usr/local/include")
# 或者可以使用CMAKE_INCLUDE_PATH指定头文件搜索路径
set(CMAKE_INCLUDE_PATH "${CMAKE_SYSROOT}/usr/local/include")# 添加库路径(用于库搜索)
set(CMAKE_LIBRARY_PATH "${CMAKE_SYSROOT}/usr/local/lib")# 设置find路径
set(CMAKE_FIND_ROOT_PATH /opt/sunrise_fs/rootfs)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

4. 创建编译脚本,执行环境配置和编译过程

创建shell 脚本执行编译过程  cross_build.sh

#!/bin/bash
#### @Author: zhangshouyang 522718597@qq.com# @Date: 2024-02-23 09:44:35# @Description: 
### # 设置交叉编译工具链的路径
# 使用系统中安装的gcc-aarch64-linux-gnu和g++-aarch64-linux-gnu
export CC=/usr/bin/aarch64-linux-gnu-gcc
export CXX=/usr/bin/aarch64-linux-gnu-g++
export LD=/usr/bin/aarch64-linux-gnu-ld# 设置从目标机中拷贝出来的rootfs路径
export SYSROOT=/opt/sunrise_fs/rootfs  # 替换为你的rootfs实际路径
export ROS2_WS=/home/Develop/AutomaticSystem    # 替换为ROS 2功能包工作区路径
TOOLCHAIN_FILE_PATH=/home/Develop/toolchain-aarch64.cmake # 替换为实际路径# 切换到ROS2工作区
cd $ROS2_WS# 清理上一次的构建
echo "Cleaning previous build..."# rm -rf build/ install/ log/# 交叉编译命令
colcon build --merge-install \--parallel-workers 8 \--cmake-force-configure \--cmake-args \-DCMAKE_TOOLCHAIN_FILE="$TOOLCHAIN_FILE_PATH" \-DCMAKE_SYSROOT=${SYSROOT} \-DCMAKE_FIND_ROOT_PATH=${SYSROOT} \-DCMAKE_VERBOSE_MAKEFILE=ON \-DBUILD_SHARED_LIBS=ON# -DTHIRDPARTY=ON

http://www.zhongyajixie.com/news/26941.html

相关文章:

  • wordpress弹窗登入搜索引擎优化是做什么的
  • 微信小程序哪里找网站优化检测
  • 独立电商网站seo百度移动端模拟点击排名
  • asp.net网站建设教程北京seo优化方案
  • 单县网站定制可以直接进入网站的正能量
  • 网站设计公司哪家比较好百度官网首页入口
  • 网站开源源码seo网站优化培训怎么样
  • 专门做酒的网站seo导航站
  • 网站建设的讲话稿宁德市蕉城区
  • 动态网站制作视频教程seo是什么意思为什么要做seo
  • 个人做外贸接订单网站google chrome官网入口
  • 河北移动端网站制作企业网站的推广方式和手段有哪些
  • 给一个网站做需求分析网站数据
  • 泛华建设集团网站新闻最新消息10条
  • 高校网站群管理系统百度搜索引擎网址格式
  • 个人餐饮网站模板今日热榜官网
  • 网站推广员工作咋样软文网官网
  • 进度插件 wordpress网站seo优化免费
  • 优秀网站建设设计seo是搜索引擎吗
  • 龙岗做网站建设网站诊断工具
  • 做网站租服务器需要多少钱百度非企渠道开户
  • 搭建公司网站费用简述在线推广网站的方法
  • 园林设计公司网站seo网站优化详解
  • 网站建设与管理模拟试卷一全网推广推荐
  • 做图软件ps下载网站建材企业网站推广方案
  • 如何用css做网站模板建站公司
  • 大型网站都怎么做推广北京搜索优化排名公司
  • 如何用源码做网站企业宣传推广方案
  • wordpress搬家失败北京搜索引擎优化seo专员
  • 网站建设与管理案例教程期末考试北京网站优化多少钱