ubuntu16.04 安装交叉编译工具aarch64-linux-gnu-gcc/g++

2023-11-13

前言

最近需要把人脸识别代码放到RK3399Pro的嵌入式板子上,所以编写好的c++ 代码要放到板子上编译,或者在ubuntu系统上使用交叉编译工具,编译好可执行文件在放到板子里运行。为了在能在ubuntu系统上能交叉编译,安装aarch64-linux-gnu-gcc/g++交叉编译工具链。

介绍

The GNU Compiler Collection - cross compiler for ARM64 target. aarch64-linux-gnu-gcc/g++ 是一个交叉编译工具链,可以在其他架构的系统中,编译安装 64 位 arm 架构的程序。常用在嵌入式代码的移植中。aarch64-linux-gnu-gcc/g++ 是由非盈利组织Linaro 基于 GCC/G++ 推出的 ARM 交叉编译工具。可用于交叉编译 ARMv8 64 位目标中的裸机程序、u-boot、Linux kernel、filesystem 和 App 应用程序。aarch64-linux-gnu-gcc/g++ 交叉编译器必须安装在 64 位主机上,才能编译目标代码。

安装

# 查看可以安装的版本
apt-cache search aarch64
# 选择可以安装的版本进行安装
# 此处选择gcc-5-aarch64-linux-gnu以及g++-5-aarch64-linux-gnu进行安装
sudo apt-get install gcc-5-aarch64-linux-gnu 
sudo apt-get install gcc-5-aarch64-linux-gnu
# 安装依赖
sudo apt --fix-broken install
# 安装一个没有版本号的gcc和g++
sudo apt-get install gcc-aarch64-linux-gnu
sudo apt-get install gcc-aarch64-linux-gnu
# 查看版本
aarch64-linux-gnu-g++ -v
aarch64-linux-gnu-gcc -v

测试c++文件交叉编译

  1. test.cpp文件
/*
* test.cpp
* for cplusplus
* test aarch64-linux-gnu-g++
*/

# include<iostream>
int main(int argc,char **argv)
{
    std::cout << "hello world!" <<std::endl;
    return 0;
}
  1. 交叉编译
# 生成可执行文件test命令
cd test # 切换到test 目录下
aarch64-linux-gnu-g++ test_arm.cpp -o test
# 将生成的可执行文件放到嵌入式板子上运行
./test # 若显示hello world!表示成功
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu16.04 安装交叉编译工具aarch64-linux-gnu-gcc/g++ 的相关文章

随机推荐

  • jsrender的基本使用

    1 什么是jsrender 一个JavaScript库 允许您定义一次样板结构并重复使用它来动态生成HTML JsRender为HTML5开发带来了一个新的模板库 它具有无代码标记语法和高性能 不依赖于jQuery 也不依赖于文档对象模型
  • Go-新手速成-流程语句

    1if Go的if不建议写 over if条件判断 age 16 if age lt 18 fmt Println 未成年 2for循环 Go摈弃了while和do while 循环 因为他做到了极简 也不要括号 这么写可以 total 0
  • Pandas知识点-reset_index,reindex,reindex_like,你分得清吗?

    Pandas知识点 reset index reindex reindex like 你分得清吗 reset index 用法详解 reset index 是pandas中将索引重置成自然数的方法 不会改变原始数据的内容和排列顺序 Data
  • 2023年第五届清洁能源与智能电网国际会议(CCESG 2023)

    2023年第五届清洁能源与智能电网国际会议 CCESG 2023 重要信息 会议网址 www ccesg org 会议时间 2023年11月3 5日 召开地点 广西 南宁 截稿时间 2023年10月3日 录用通知 投稿后2周内 收录检索 E
  • Python3基础入门

    文章目录 前言 基础说明 Python安装 Windows Ubuntu 开发环境 程序编写 模块和包 模块 module 包 package pip和换源 总结 前言 Python是目前非常流行的编程语言 这篇文章将对其相关入门内容进行说
  • JS判断数据类型的5种方法

    我们先来了解一下JS中数据类型有哪些 基本数据类型 值类型 String Number boolean null undefined symbol es6新增的 引用数据类型 引用类型 object 包含 Function Array Da
  • CSS line-height概念与举例

    本文同时发表在https github com zhangyachen zhangyachen github io issues 37 定义 两行文字基线之间的距离 基线的大体位置 基线的位置可以看成x字母下边缘的位置 不同字体的基线位置会
  • 微信公众号H5音频视频自动播放(安卓,苹果)

    我们都知道音频视频的自动播放被浏览器或者微信给限制了 必须用户跟页面交互才可以播放音视频 解决办法就是引入微信的jssdk 然后监听 WeixinJSBridgeReady 来实现自动播放 引入jssdk 音频或视频自动播放 documen
  • 查看运行的java程序的几种方式

    windows 任务管理器可以查看进程和线程数 也可以用来杀死进程 tasklist 查看进程 tasklist 杀死进程 linux ps ef 查看所有进程 ps ft p 查看某个进程 PID 的所有线程 kill 杀死进程 top
  • 【转载】手把手教你用 “三步法” 快速实现 4K+ 超高分辨率满细节出图

    手把手教你用 三步法 快速实现 4K 超高分辨率满细节出图 https ngabbs com read php tid 35888357 rand 488 准备工作 如果你的显存不足以直出你期望的最终分辨率 请先按照你习惯的方式安装 切片扩
  • uniapp - Map地图组件属性示例

    目录 1 markers 点标记 用于在地图上显示标记的位置 2 点聚合 3 polygons 4 include points 可以实现自动缩放展示视图内所有的点标记 5 polyline 线 map uni app官网 1 marker
  • littleVGL学习笔记5——lv_obj 基础对象

    1 介绍 littleVGL 是以对象为概念的 而其最核心的基础对象是 lv obj 控件 其他的所有专用控件 比如按钮 标签 列表等 都是在此 lv obj 对象的基础上衍生出来的 所有的控件对象都具有一些共同的属性 如下所示 位置 Po
  • JUC 十二. ReentrantReadWriteLock 与 StampedLock

    目录 一 基础 二 ReentrantReadWriteLock 的锁降级 三 StampedLock 邮戳票据锁 一 基础 ReentrantReadWriteLock 可以看为读读共享 读写 写写依然互斥 总结一句话 读写互斥 读读共享
  • 数字化时代-26:不要做数字空间的难民

    网络是人们新的生存空间 年轻人出生后就存在的空间 与人类社会原先的现实空间并存的人与人交流的空间 在这个空间中 没有自己位置的人 将成为未来社会的难民 年轻人 特别是毕业后的年轻人 需要思考 个人在数字空间中的落脚点和位置 数字原住民 在数
  • Ubuntu 20.04-NVIDIA显卡驱动-安装和卸载-解决黑屏问题

    这一步很重要 202300704更新 黑屏问题主要由linux内核更新导致 一定要保持当前的内核 也就是安装 NVIDIA 驱动时用的内核 sudo apt mark hold linux image generic linux heade
  • Cuda矩阵运算库cuBLAS介绍

    文章目录 简介 cuBLAS库新特性 cuBLAS代码热身 cublasSetMatrix cudaMalloc cublasSscal 源代码 cuBLAS 辅助函数 上下文管理 复制矩阵 数据类型标示 cuBLAS 运算函数 矩阵相乘
  • 有趣的 Async hooks 模块

    在 Node js 中 Async hooks 是一个非常有意思且强大的模块 虽然性能上存在一些问题 在 APM 中 我们可以借助这个模块做很多事情 本文介绍两个有趣的用法 AsyncLocalStorage 在 Node js 中 上下文
  • PaddlePaddle Hackathon 飞桨黑客马拉松热身赛上线!

    挑战自我 拓展技能 激发创新 挑战极限 再次相遇黑客松 我们期待你的加入 第五期 PaddlePaddle Hackathon 飞桨黑客马拉松热身赛上线 本次活动是面向全球开发者的深度学习领域编程活动 鼓励开发者了解和参与飞桨深度学习开源项
  • 如何制作一个简单的网页

    先创建一个文本文档 将后缀名改为 html 然后右击这个 选择打开方式 用记事本打开 开头与结尾要用来写 后一个要加 头部用head 中间部分用body 背景颜色用bgcolor 填一种颜色 字体颜色用text 填一种颜色 切记用英文 你如
  • ubuntu16.04 安装交叉编译工具aarch64-linux-gnu-gcc/g++

    前言 最近需要把人脸识别代码放到RK3399Pro的嵌入式板子上 所以编写好的c 代码要放到板子上编译 或者在ubuntu系统上使用交叉编译工具 编译好可执行文件在放到板子里运行 为了在能在ubuntu系统上能交叉编译 安装aarch64