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

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: