使用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++")
相关推荐
m0_7436975913 小时前
磁盘管理的相关知识
linux
先知后行。13 小时前
内核中的侵入式链表,slub对象池,CAS
linux
酷可达拉斯14 小时前
Linux操作系统-tcpdump抓包定位网络问题实战
linux·运维·服务器·网络·tcpdump
byte轻骑兵14 小时前
BlueZ 5.x 整体架构总览:用户态 + 内核态分层设计核心逻辑
linux·架构·bluez·电脑蓝牙·嵌入式蓝牙
ltl1 天前
大多数「无锁」代码其实不是无锁的
linux
ltl1 天前
Linux 内核的内存屏障:一个让我调了三天的 bug
linux
Lonely 净土1 天前
Rocky Linux 安装教程
linux·运维·服务器
李白你好1 天前
Windows 离线 Linux 提权辅助查询工具
linux
Lust Dusk1 天前
记一次Linux应急响应题目解析
linux·运维·服务器·网络·安全·网络安全
ShineWinsu1 天前
对于Linux:五种IO模型以及非阻塞IO的详细解析
linux·c++·面试·io·阻塞·非阻塞·fcntl