用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/MIUAV/vibe-coding-ros2 --skill arm64-cross-compile命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | arm64-cross-compile |
| description | ARM64 交叉编译技能 - 配置 x86 到 ARM64 (Jetson OrinNX/RDK-X5) 的交叉编译环境 |
| argument-hint | 交叉编译 OR ARM64 OR Jetson OR RDK-X5 OR Raspberry Pi |
| user-invocable | true |
x86 开发机到 ARM64 目标机的交叉编译配置与实践
当需要以下帮助时使用此技能:
x86_64 (编译) ──► ARM64 (运行)
│
├── aarch64-linux-gnu-gcc
├── aarch64-linux-gnu-g++
└── CMAKE_SYSROOT=arm64_rootfs
# cmake/aarch64.toolchain.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
set(CMAKE_SYSROOT /opt/orin_sysroot)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
docker run -d --name orin-cross \
-v /path/to/rootfs:/opt/orin_sysroot:ro \
-v /workspace/ros2_ws:/workspace/ros2_ws \
ros2-humble-cross-compile sleep infinity
colcon build \
--cmake-args \
-DCMAKE_TOOLCHAIN_FILE=/opt/aarch64.toolchain.cmake \
-DCMAKE_SYSROOT=/opt/orin_sysroot \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_JETSON=ON
sudo apt install -y \
gcc-aarch64-linux-gnu \
g++-aarch64-linux-gnu \
crossbuild-essential-arm64
# NVIDIA Jetson: 来自 SDK Manager
# 路径: Linux_for_Tegra/rootfs
# RDK-X5: 来自 Horizon 官方
# 官方 ROS2 ARM64 包
docker pull arm64v8/ros:humble
# 或第三方定制镜像
docker pull hcseok/zed_orinnx_ros2:1.2.0
| 问题 | 解决 |
|---|---|
| 找不到 xxx.h | 复制到 sysroot/usr/include |
| 找不到 libxxx.so | 复制到 sysroot/usr/lib/aarch64-linux-gnu |
| 找不到 cmake 模块 | 设置 CMAKE_MODULE_PATH |
# 复制头文件
sudo cp -r /usr/include/xxx /opt/orin_sysroot/usr/include/
# 复制库文件
sudo cp /usr/lib/xxx.so* /opt/orin_sysroot/usr/lib/aarch64-linux-gnu/
# 重新配置 ldconfig
sudo chroot /opt/orin_sysroot ldconfig
aarch64-linux-gnu-gcc: command not found
解决: 检查 PATH 和 CMAKE_C_COMPILER
cannot find crt1.o: No such file or directory
解决: CMAKE_SYSROOT 设置错误,确保指向正确的根文件系统
library libxxx.so.1.2.3 was built for AArch64
解决: 确保所有库都是 ARM64 版本
tar czf install.tar.gz install/
scp install.tar.gz ubuntu@192.168.1.110:/tmp/
ssh ubuntu@192.168.1.110
sudo tar xzf /tmp/install.tar.gz -C /opt/ros_ws/
source /opt/ros_ws/install/setup.bash
--packages-skip 跳过 livox 等 SDK 相关包--packages-select pkg_name