| RMVL 2.3.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
为基于 ARM 的 Linux 系统手动配置交叉编译

上一篇教程：Run In —— 一键进入全功能 RMVL 编译镜像
下一篇教程：为 RMVL 撰写说明文档

注解
  建议使用基于 JSON 文件的 Docker 编译镜像构建方式，详见 Run In —— 一键进入全功能 RMVL 编译镜像 。

## 交叉编译应具备的先决条件

- Linux 主机
- 点击此处下载最新发行版
- ARM 的交叉编译工具：gcc，libstdc++.so 等内容，根据目标平台的不同，您需要选择 `gneabi` 或 `gneabihf` 工具。

`gneabi` 安装命令如下

sudo apt install gcc-arm-linux-gneabi

`gneabihf` 安装命令如下

sudo apt install gcc-arm-linux-gneabihf

## 使用提供的工具链构建 RMVL

在 RMVL 目录下创建 `build` 文件夹，运行以下命令

cd build
cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ..

上文代码中的 CMake 配置也可使用 `cmake-gui` 或者 `ccmake` 工具，例如使用 `ccmake` 则需要改写为

ccmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ..

运行构建命令

cmake --build . --parallel 4

## 自定义工具链构建 RMVL

如果交叉编译器是通过编译内核源码获取到的，在使用这类指定的交叉编译器进行编译时，自定义工具链是个有效的方法。

工具链文件的一般写法如下

# toolchain.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR aarch64)
set(CMAKE_C_COMPILER "/path/to/xxx-gcc")
set(CMAKE_CXX_COMPILER "/path/to/xxx-g++")
set(CMAKE_FIND_ROOT_PATH "/path/to/")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

然后进入 RMVL 项目根目录，在终端中输入

cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/toolchain.cmake ..

同样，CMake 配置也可使用 `cmake-gui` 或者 `ccmake` 工具。