使用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++")
相关推荐
init_236111 分钟前
【hcie-09】vxlan 同子网通信
linux·运维·服务器
爱吃生蚝的于勒13 分钟前
【Linux】进程信号的产生(一)
linux·运维·服务器·c语言·开发语言·数据结构·c++
Codigger官方19 分钟前
算力的去中心化重构:简析Codigger分布式计算生态
linux·vim
Linux技术芯26 分钟前
浅谈 NVMe over Fabrics (NVMe-oF) 协议
linux
爱装代码的小瓶子34 分钟前
【C++与Linux基础】文件篇 -语言特性上的文件操作
linux·开发语言·c++
杨了个杨898238 分钟前
Nginx 升级 OpenSSL 版本
linux·服务器·nginx
ruxshui1 小时前
Notepad++ 正则匹配实战:时间戳及高频场景
linux·服务器·notepad++
游戏开发爱好者81 小时前
在 Windows、Linux 与 CI 环境下命令行上传 IPA 到 App Store
linux·windows·ios·ci/cd·小程序·uni-app·iphone
Zach_yuan1 小时前
Linux下的网络基础
linux·运维·服务器·网络
切糕师学AI1 小时前
ARM Cortex-M 中的 异常和中断
arm开发·单片机·嵌入式硬件