1. 下载交叉编译链
博主此处使用的是gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar
,下载传送门
2. 解压压缩包
此处博主将其解压到了/opt/toolchain
下
3. 在CMake中的使用
在CMakeLists.txt
中写入如下命令:
# 配置 ARM 交叉编译
set(CMAKE_SYSTEM_NAME Linux) #设置目标系统名字
set(CMAKE_SYSTEM_PROCESSOR arm) #设置目标处理器架构
# 指定编译器的 sysroot 路径
set(TOOLCHAIN_DIR /opt/toolchain/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu)
# 指定交叉编译器 arm-gcc 和 arm-g++
set(CMAKE_C_COMPILER ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-gcc)
set(CMAKE_CXX_COMPILER ${TOOLCHAIN_DIR}/bin/aarch64-linux-gnu-g++)
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
或将其配置成xxx.cmake
的插件形式
最后使用cmake编译,插件形式的编译方法如下:
cmake -D CMAKE_TOOLCHAIN_FILE=xxx.cmake ..
参考链接
- https://blog.csdn.net/int_t/article/details/127430454