使用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++")
相关推荐
知识分享小能手6 分钟前
CentOS Stream 9入门学习教程,从入门到精通, Linux文本编辑器 —— 语法详解与实战案例(5)
linux·学习·centos
网安老伯13 分钟前
什么是网络安全?网络安全包括哪几个方面?学完能做一名黑客吗?
linux·数据库·python·web安全·网络安全·php·xss
贝塔实验室13 分钟前
新手如何使用Altium Designer创建第一张原理图(三)
arm开发·单片机·嵌入式硬件·fpga开发·射频工程·基带工程·嵌入式实时数据库
tang_vincent23 分钟前
Linux虚拟内存固定映射区-fixmap
linux
企鹅侠客26 分钟前
Ubuntu本地部署AnythingLLM实现本地文档RAG
linux·运维·ubuntu·llm
Victoria.a32 分钟前
Linux环境基础开发工具使用
linux
被AI抢饭碗的人1 小时前
linux:进程间通信
linux·运维·服务器
森G1 小时前
六、imx6ull驱动实现
linux·c语言·ubuntu
_F_y1 小时前
Linux中项目自动化构建工具-make/Makefile
linux
chao1031 小时前
ubuntu下业务运行环境搭建
linux·运维·ubuntu