使用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++")
相关推荐
z2023050811 小时前
RDMA之infiniband专用网络 LID 和GID 的作用
linux·服务器·网络
陈陈CHENCHEN11 小时前
【Linux】Rsync + Inotify 实时文件同步案例
linux·运维·服务器
charlie11451419112 小时前
嵌入式Linux嵌入式Linux驱动开发:设备树驱动改造——从硬编码到设备树的实战之旅
linux·运维·驱动开发
Hoxy.R12 小时前
银河麒麟 V10 离线安装 s3cmd 踩坑记录+存储负载均衡测试
linux·运维·华为·存储
rGzywSmDg12 小时前
如何在Dev-C++中选择TDM-GCC编译器
linux·jvm·c++
Irissgwe12 小时前
九、Linux信号机制(二)
linux·进程·可重入函数·volatile·sigchld信号·进程信号
野熊佩骑12 小时前
一文读懂Nginx 之 Ubuntu使用apt方式安装Nginx官方最新版本
linux·运维·服务器·nginx·ubuntu·http
闫记康13 小时前
Linux学习day3
linux·服务器·学习
皆圥忈13 小时前
Linux 进程管理从入门到实战(一)
linux
雪度娃娃13 小时前
Asio——socket的创建和连接
linux·运维·服务器·c++·网络协议