使用CMake交叉编译Arm Linux程序

下载安装aarch64-linux-gnu-gcc arm交叉编译工具链

bash 复制代码
 apt-get install aarch64-linux-gnu-gcc
 apt-get install aarch64-linux-gnu-gcc++

创建编译目录构建makefle

注意,工具链文件的指定一定要紧跟cmake命令之后,不能放到 ... 后面构建arm架构cmake

bash 复制代码
 mkdir arm_build && cd arm_build
 cmake -DCMAKE_TOOLCHAIN_FILE=../arm_linux_setup.cmake ..

工具链文件

工程里新建一个文件叫arm_linux_setup.cmake

arm_linux_setup.cmake内容如下

bash 复制代码
# 指定目标系统
set(CMAKE_SYSTEM_NAME Linux)
# 指定目标平台
set(CMAKE_SYSTEM_PROCESSOR arm)
 
# 指定交叉编译工具链的根路径
set(CROSS_CHAIN_PATH /usr/bin)
# 指定C编译器
set(CMAKE_C_COMPILER "${CROSS_CHAIN_PATH}/aarch64-linux-gnu-gcc")
# 指定C++编译器
set(CMAKE_CXX_COMPILER "${CROSS_CHAIN_PATH}/aarch64-linux-gnu-g++")
相关推荐
木泽八16 小时前
《Ubuntu系统GRUB引导修复操作记录》
linux·运维·ubuntu
水饺编程17 小时前
第2章:Linux 基础,删除用户
linux·c语言·汇编
Novproxy_Z17 小时前
机房 IP 和住宅 IP 怎么区分?IP ASN、归属信息检测脚本
linux·网络·tcp/ip
mounter62517 小时前
深入理解 Linux blk-iocost:基于虚拟时间的 I/O 资源控制与 BPF 扩展
linux·linux kernel·kernel
码少女17 小时前
Linux——网络层-IP协议以及路由选择
linux·网络·网络协议·tcp/ip
qeen8718 小时前
【Linux】Ext2文件系统介绍
linux·服务器
FlightYe18 小时前
视界原理之3D视频(三):解码和显示
android·linux·3d·ffmpeg·音视频·android runtime
牢姐与蒯19 小时前
Linux网络篇——TCP(一)之手搓TCP,并实现词典和远程命令
linux·网络·tcp/ip
FlightYe19 小时前
linux系统编程(十七):内存管理基础
android·linux·ffmpeg·音视频·android runtime
严同学正在努力19 小时前
PostgreSQL 数据库安装部署教程(Linux 多发行版 + Windows + Docker 全覆盖)
linux·数据库·postgresql