项目的CMake构建系统原生支持交叉编译。所有交叉编译相关的配置都集中在 arm.cmake
文件中,通过在运行cmake时指定它为工具链文件来启用。
1. 工具链配置文件 (arm.cmake
)
该文件的核心是告诉CMake在哪里找到交叉编译器以及如何设置环境。
1 | # 设置目标系统名称 |
关键配置说明:
TOOLCHAIN_DIR
: 硬编码了交叉编译工具链的根目录。在您的环境中,您需要修改此路径,使其指向您自己的工具链位置。CMAKE_C_COMPILER
: 明确指定了C编译器为arm-linux-gcc
。CMAKE_FIND_ROOT_PATH_MODE_*
: 这是交叉编译最关键的设置。它强制CMake只在TOOLCHAIN_DIR
指定的路径下查找库和头文件,从而避免了将在PC上编译的宿主系统库链接到ARM程序中的问题。
2. 如何进行交叉编译
- 确保您已经正确修改了
arm.cmake
文件中的TOOLCHAIN_DIR
路径。 - 在项目根目录下,执行以下命令:
1
2
3
4
5
6
7
8# 创建构建目录
mkdir -p build && cd build
# 运行CMake,并使用-D参数指定工具链文件
cmake .. -DCMAKE_TOOLCHAIN_FILE=../arm.cmake
# 开始编译
make -j$(nproc) - 编译成功后,
bin/
目录下生成的main
可执行文件就是适用于您的ARM目标平台的程序。