使用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++")
相关推荐
xixiaoyunya6 小时前
虚拟机备份怎么做:镜像级与文件级搭配的完整实操方案
linux·运维·网络
墨家句子6 小时前
服务器被反复尝试登录之后:fail2ban 加密钥登录的五道加固
linux·后端
阿明66 小时前
进程替换【Linux】
linux·运维·服务器
sunoo-2296 小时前
【嵌入式Linux驱动学习】Day1-Day2 全流程梳理:环境搭建→U-Boot→内核→根文件系统→驱动基础
linux·运维·驱动开发·笔记·学习·阿里云·恩智浦
我是场6 小时前
我的NPI项目之-Touch的EE特性
android·arm开发
倔强的石头1067 小时前
【Linux指南】动静态库系列(十二):库工程发布与错误排查:从能跑到可维护
linux·运维·服务器
xiaoye-duck7 小时前
《Linux 网络编程》深入理解 epoll(上):从接口到底层内核工作机制剖析
linux·网络
ouynagda8 小时前
嵌入式Linux i.MX6ULL系统移植学习笔记
linux·笔记·学习
NightReader8 小时前
PVE 环境部署
linux
蚰蜒螟8 小时前
一次挂载的完整旅程:Linux 内核 VFS 到 ext4 的调用链剖析
linux·运维·服务器