使用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++")
相关推荐
Dlrb1211几秒前
信息查询Web服务器-->电子商城信息查询项目
linux·服务器·数据库·html·嵌入式·epoll·数据查询
纳兰青华13 分钟前
在 PVE 上通过 LXC 部署 Ubuntu 24.04:为 OpenClaw 打造轻量高效的 AI 环境
linux·ai编程
Auv开心39 分钟前
Ubuntu 20.04 默认视频播放器(Totem)无法播放 MP4 文件,通常是因为缺少多媒体编解码器。以下是几种解决方法:
linux·ubuntu·音视频
天空'之城1 小时前
Linux 系统编程 15:UDP 编程
linux·系统编程·udp协议
utf8mb4安全女神1 小时前
如果复制windows 内容到 Linux,带入不可见特殊符,怎么解决
linux·运维·服务器
fei_sun1 小时前
网卡、网关、网桥、交换机、路由器
linux·服务器·网络
2601_961593422 小时前
Mac 虚拟机跑 Linux 选哪个?CentOS 8 稳定版适配方案
linux·macos·centos
ljs6482739512 小时前
智慧商城(Smart Mall):基于 Spring Boot + Vue 3 的现代化电商平台实战
linux·vue.js·spring boot·后端
run21professional2 小时前
系统包管理器和语言级包管理器的区别,及其源配置
linux
阿成学长_Cain2 小时前
Linux grpck命令超全详解|校验组文件完整性、修复/etc/group错误实战
linux·运维·服务器·网络