本文主要是介绍x86_64 DeepinV23交叉编译生成aarch64 linux执行文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、系统环境
X86_64 Deepin V23正式版
二、安装步骤
1. 查看本机g++版本
$ g++ -v
...
gcc version 12.3.0 (Deepin 12.3.0-17deepin5)
2.下载arm工具链
下载网页:
Arm GNU Toolchain Downloads – Arm Developer
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
根据cpu类型和g++版本选择对应的版本
Downloads: 12.3.Rel1 July 28, 2023
选择x86_64主机交叉工具链
x86_64 Linux hosted cross toolchains
AArch64 GNU/Linux target (aarch64-none-linux-gnu)
arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
下载软件包链接:
$ wget https://developer.arm.com/-/media/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
3. 解压安装
解压至/usr/local/lib/目录下
$ sudo tar -xvJf arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz -C /usr/local/lib/
4. 设置环境变量
编辑/etc/profile,添加以下行:
export ARMTC=/usr/local/lib/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu
export PATH=$ARMTC/bin:$PATH
export LD_LIBRARY_PATH=$ARMTC/aarch64-none-linux-gnu/lib64:$LD_LIBRARY_PATH
export CPLUS_INCLUDE_PATH=$ARMTC/aarch64-none-linux-gnu/include/c++/12.3.1
设置生效:
$ sudo source /etc/profile
三、测试
动态编译
$ aarch64-none-linux-gnu-g++ main.cpp -o exe_arm64 -lc -lstdc++
静态编译
$ aarch64-none-linux-gnu-g++ main.cpp -o exe_arm64s -static -lc -lstdc++
这篇关于x86_64 DeepinV23交叉编译生成aarch64 linux执行文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!