【Odroid C4】交叉编译工具链安装以及QT交叉编译环境搭建

news/2024/11/18 16:41:32/

【Odroid C4】交叉编译工具链安装以及QT交叉编译环境搭建


虚拟机环境,UBUNTU20.04

文章目录

  • 【Odroid C4】交叉编译工具链安装以及QT交叉编译环境搭建
  • 一、Odroid C4交叉编译工具链安装
  • 二、QT下载及编译安装
    • 1.QT下载
    • 2.交叉编译QT
  • 配置QtCreator可以[参考](https://blog.csdn.net/weixin_49513223/article/details/131943975?spm=1001.2014.3001.5502)
  • 总结


一、Odroid C4交叉编译工具链安装

参考ODROID Wiki

  • 安装相关依赖:
sudo apt-get update
sudo apt-get install git lzop build-essential gcc bc libncurses5-dev libc6-i386 lib32stdc++6 zlib1g:i386
  • 在这里下载ToolChain
  • 解压到期望的路径,比如 /opt/toolchains/
sudo mkdir -p /opt/toolchains
sudo tar Jxvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz -C /opt/toolchains
  • 添加环境变量到 ~/.bashrc
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
export PATH=/opt/toolchains/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/:$PATH
  • 更新一下
source ~/.bashrc

到这里安装就完成了


检查一下是否能用

aarch64-linux-gnu-gcc -v

输出结果类似下面这样:

使用内建 specs。
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/opt/toolchains/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/../libexec/gcc/aarch64-linux-gnu/7.5.0/lto-wrapper
目标:aarch64-linux-gnu
配置为:'/home/tcwg-buildslave/workspace/tcwg-make-release_0/snapshots/gcc.git~linaro-7.5-2019.12/configure' SHELL=/bin/bash --with-mpc=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libmudflap --enable-lto --enable-shared --without-included-gettext --enable-nls --with-system-zlib --disable-sjlj-exceptions --enable-gnu-unique-object --enable-linker-build-id --disable-libstdcxx-pch --enable-c99 --enable-clocale=gnu --enable-libstdcxx-debug --enable-long-long --with-cloog=no --with-ppl=no --with-isl=no --disable-multilib --enable-fix-cortex-a53-835769 --enable-fix-cortex-a53-843419 --with-arch=armv8-a --enable-threads=posix --enable-multiarch --enable-libstdcxx-time=yes --enable-gnu-indirect-function --with-build-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/sysroots/aarch64-linux-gnu --with-sysroot=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu/aarch64-linux-gnu/libc --enable-checking=release --disable-bootstrap --enable-languages=c,c++,fortran,lto --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=aarch64-linux-gnu --prefix=/home/tcwg-buildslave/workspace/tcwg-make-release_0/_build/builds/destdir/x86_64-unknown-linux-gnu
线程模型:posix
gcc 版本 7.5.0 (Linaro GCC 7.5-2019.12) 

二、QT下载及编译安装

1.QT下载

下载链接
以5.15.8版本为例
下载完成后,解压

2.交叉编译QT

  • 更改配置文件:
cd xx/qt-everywhere-src-5.15.8/qtbase/mkspecs/
cp -rf ./linux-aarch64-gnu-g++ ./aarch64-linux-gnu-g++   #这里是为了对应到xplatform,名字无所谓啦
cd aarch64-linux-gnu-g++/
sudo vim qmake.conf
QMAKE_CC                = aarch64-linux-gnu-gcc  //如果搭建其他的交叉编译环境,就改成对应的交叉编译工具链
QMAKE_CXX               = aarch64-linux-gnu-g++
QMAKE_LINK              = aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = aarch64-linux-gnu-g++
  • 执行命令
./configure -prefix ~/qt5.15.8_Odroid/ -opensource -confirm-license -release -strip -no-eglfs -linuxfb -qt-zlib -no-gif -qt-libpng -qt-libjpeg -qt-freetype -no-rpath -no-pch -no-avx -no-openssl -no-cups -no-dbus -no-pkg-config -no-glib -no-iconv -xplatform aarch64-linux-gnu-g++ -no-opengl -nomake examples -nomake tools -no-sqlite -skip qtgamepad -skip qtandroidextras -skip qtmacextras -skip qtx11extras -skip qtsensors -skip qtserialbus -skip qtserialport -skip qtwebengine -skip qtwebchannel -skip qtwebsockets -skip qtlocation -skip qtquickcontrols -skip qtpurchasing -skip qtconnectivity -skip qtscxml -skip qtxmlpatterns -skip qtnetworkauth -skip qtspeech -skip qtscript -skip qtremoteobjects -skip qtcharts -skip qtdatavis3d -skip qtwebview
make -j8 && make install

配置QtCreator可以参考


总结

一坑(hisi)未平,一坑(Odroid C4)又起……
学吧,都是芝士( ̄▽ ̄ =  ̄︿ ̄)


http://www.ppmy.cn/news/1041470.html

相关文章

vue 使用插件高德地图--vue-amap

第一步:安装 vue-amap npm install vue-amap第二步:在你的 Vue 项目中注册 vue-amap: // main.js import Vue from vue; import VueAMap from vue-amap;Vue.use(VueAMap);VueAMap.initAMapApiLoader({// 高德开发者平台申请key值key: cc9c098…

java把数字转换成汉字 java 数字转汉字

使用java将数字转化为中文汉字_java数字转中文_javaerly的博客-CSDN博客 package com.unicom.apartment.utils;public class NumUtil {public static String convert(int number) {if(number < 0){return "";}if(number 1){return "当天";}//数字对应的…

FreeRTOS 从入门到精通-任务调度

初写FreeRTOS 从入门到精通系列文章之初&#xff0c;笔者只是当作可以随时回顾的学习笔记来写&#xff0c;并没有想到这些偏技术的文章收获了意料之外的阅读量和关注。首先当然很欣喜自己的文章能够得到了读者们的认可&#xff0c;但同时也有种使命感&#xff0c;既期望启迪并与…

测试平台的周期性任务(定时任务)设计.

因为我们使用java语言,所以选择了java中最流行的quartz框架 周期性任务配置 启用周期性任务后,前端提供表单, 用户配置: 定时任务的开始结束时间, 循环方式 按照每天或者每个月 或者每个星期, 没分钟 每个时间段下,有二级菜单, 例如, 每x分钟,的第x秒 每x小时 的第y分钟z秒 按…

浅谈SpringBoot启动流程

手写SpringCloud项目地址&#xff0c;深入理解微服务核心原理. github:https://github.com/huangjianguo2000/spring-cloud-lightweight gitee:https://gitee.com/huangjianguo2000/spring-cloud-lightweigh 序目 SpringBoot启动流程就是创建IOC容器的过程。 版本不一样&am…

批量删除文件名前的数字编号?

批量删除文件名前的数字编号&#xff1f;如果你在网上经常下载文件&#xff0c;你会发现下载的文件名称前面一般都会有很的数字编号&#xff0c;这些数字编号有时候会非常的长&#xff0c;导致文件的名称也非常的长&#xff0c;这样对于文件的管理和查找使用是不利的。所以为了…

无监督学习之主成分分析-半导体制造高维数据如何降维

数据降维不只存在于半导体数据中&#xff0c;它是存在于各行各业的&#xff0c;我们要分析的数据维数较多的时候全部输入维数较大这时就要采取降维的方法综合出主要的几列用于我们的分析。 PCA的哲学理念是要抓住问题的主要矛盾进行分析&#xff0c;是将多指标转化为少数几个…

网络编程基础(1)

目录 网络编程解决是跨主机的进程间通讯 1、网络 2、互联网 3、ip地址 &#xff08;1&#xff09;ipv4: &#xff08;2&#xff09;ipV6:1 &#xff08;3&#xff09;IP地址的组成&#xff1a; (4)Linux查看IP地址&#xff1a;ifconfig 4、mac地址 5、ping Ip地址 6…