使用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++")
相关推荐
Yjiokm12 小时前
proot-distro 安装指定版本 ubuntu
linux·运维·ubuntu
lifewange12 小时前
ls -ltr
linux·运维·服务器
不怕犯错,就怕不做12 小时前
linux的notifier_block内核通知链
linux·驱动开发·嵌入式硬件
say_fall13 小时前
Git完全入门指南-从概念到实战掌握版本控制的核心
linux·运维·服务器·git·学习
时空自由民.13 小时前
Arm Coretex-M核MCU做IAP/OTA升级时候为什么要做中断向量表地址偏移?
arm开发·单片机·嵌入式硬件
大明者省13 小时前
手机访问虚拟机里面的网站(从虚拟机桥接网络到宝塔面板可访问)
linux·服务器·网络
剑神一笑13 小时前
Linux netstat 命令深度解析:从网络连接到端口监控的完整实现
linux·运维·网络
liulilittle13 小时前
TCP UCP v1.0 拥塞控制算法(Linux Kernel CC-A)
linux·网络·网络协议·tcp/ip·c·通信·拥塞控制
wangbing112513 小时前
和挖矿做斗争3
linux·运维·服务器
神秘剑客_CN13 小时前
Ubuntu 26.04使用笔记
linux·笔记·ubuntu