Qt5.9 Ubuntu18.04-64位交叉编译目标机为Ubuntu18.04-arm-32位基于RK3288

这篇具有很好参考价值的文章主要介绍了Qt5.9 Ubuntu18.04-64位交叉编译目标机为Ubuntu18.04-arm-32位基于RK3288。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

一、需要准备的材料

二、操作步骤

1.更新软件源

2.安装环境依赖

3.搭建交叉编译环境

4.编译QT

5.安装Qt creator

6.配置Qt kit

三.测试


前言

本文使用VMware虚拟机作为Ubuntu系统载体,采用Ubuntu18.04-64位镜像作为QT编译环境,采用RK3288搭载Ubuntu18.04-arm-32作为QT执行环境。

一、需要准备的材料

① 交叉编译器:gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz

git:工具包: 一些常用的工具,你可以在这里找到

②qt-everywhere-src-5.9.5.tar.xz(QT源码)

网站:Index of /archive/qt/5.9/5.9.5/single

③qt-opensource-linux-x64-5.9.5.run(QT开发工具)

网站:Index of /archive/qt/5.9/5.9.5

二、操作步骤

1.更新软件源

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

2.安装环境依赖

sudo apt-get install repo git-core gitk git-gui gcc-arm-linux-gnueabihf u-boot-tools -y

sudo apt-get install device-tree-compiler gcc-aarch64-linux-gnu mtools parted -y

sudo apt-get install libudev-dev libusb-1.0-0-dev python-linaro-image-tools -y

sudo apt-get install linaro-image-tools autoconf autotools-dev libsigsegv2 m4 -y

sudo apt-get install intltool libdrm-dev curl sed make binutils build-essential gcc -y

sudo apt-get install g++ bash patch gzip bzip2 perl tar cpio python unzip rsync flex -y

sudo apt-get install bc wget libncurses5 libqt4-dev libglib2.0-dev libgtk2.0-dev -y

sudo apt-get install libglade2-dev cvs git mercurial rsync openssh-client subversi -y

sudo apt-get install asciidoc w3m dblatex graphviz python-matplotlib libc6:i386 -y

sudo apt-get install libssl-dev texinfo genext2fs -y

sudo apt-get install lib32stdc++6 -y

sudo apt-get install g++-arm-linux-gnueabihf -y

sudo apt-get install liblz4-tool lib32gcc-7-dev g++-7 libstdc++-7-dev -y

3.搭建交叉编译环境

①在/opt路径下创建gcc-arm-6.3.1文件夹来存放交叉编译器

cd /opt
sudo mkdir gcc-arm-6.3.1

②在交叉编译器存放的地方打开终端,将编译器复制到/opt/gcc-arm-6.3.1

mv gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.tar.xz /opt/gcc-arm-6.3.1

在/opt/gcc-arm-6.3.1路径下进行解压

cd /opt/gcc-arm-6.3.1
sudo tar -xvf gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.tar.xz

④解压完成后会自动创建gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf文件夹,将此文件夹中的bin添加至.bashrc中。

在/home/XXX 下打开终端(XXX为你自己的用户)

vim .bashrc

按i,进入插入模式,在底部添加:export PATH=/opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin:$PATH

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 更新环境变量

source .bashrc

查看是否生效:

arm-linux-gnueabihf-g++ -v 

如果可以查到,就代表安装成功。

4.编译QT

①在默认用户路径(/home/XXX)下解压QT源码

sudo tar -xvf qt-everywhere-src-5.9.5.tar.xz

②修改qmake配置文件,路径在/home/XXX/qt-everywhere-src-5.9.5/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

cd /home/XXX/qt-everywhere-src-5.9.5/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
vim qmake.conf

修改成如下内容

#
# qmake configuration for building with arm-linux-gnueabi-g++
#

MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib

include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)

# modifications to g++.conf
QMAKE_CC                = /opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc

QMAKE_CXX               = /opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

QMAKE_LINK              = /opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

QMAKE_LINK_SHLIB        = /opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++

# modifications to linux.conf
QMAKE_AR                = /opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-ar cqs

QMAKE_OBJCOPY           = /opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-objcopy

QMAKE_NM                = /opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-nm -P

QMAKE_STRIP             = /opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-strip

load(qt_config)

③编译,/usr/local/qt-arm/QtEmbedded-6.3.1-arm 代表安装路径,文件夹需要提前创建出来

cd /usr/local
sudo mkdir qt-arm
cd qt-arm
sudo mkdir QtEmbedded-6.3.1-arm

在/home/XXX/qt-everywhere-opensource-src-5.9.5 路径下执行以下命令。

./configure -prefix /usr/local/qt-arm/QtEmbedded-6.3.1-arm -confirm-license -opensource -release -make libs -xplatform linux-arm-gnueabi-g++ -pch -qt-libjpeg -qt-libpng -qt-zlib -no-opengl -no-sse2 -no-openssl -no-cups -no-glib -dbus -no-xcb -no-separate-debug-info -no-iconv

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

出现这个画面代表成功,可以进行下一步

make -j4 && sudo make install

此步骤花费时间较长请耐心等待。

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 出现这个画面代表成功

④导入环境变量,步骤和上面相同,导入完成后记得source下。

export QTDIR=/usr/local/qt-arm/QtEmbedded-6.3.1-arm
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 输入

qmake -version

如果能查到版本则代表成功。

5.安装Qt creator

①建立qtcreator的安装目录

cd /opt
sudo mkdir Qt5.9.5

②运行安装包

sudo chmod 777 qt-opensource-linux-x64-5.9.5.run
sudo ./qt-opensource-linux-x64-5.9.5.run

安装路径选择/opt/Qt5.9.5,按照下图勾选。

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 ③安装完成后,导入环境变量,方法和上面一样,记得导完后source下。

export PATH=/opt/Qt5.12.11/Tools/QtCreator/bin:$PATH
export PATH=/opt/Qt5.12.11/5.12.11/gcc_64/bin:$PATH

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 安装完成后就在菜单中找到Qt creator了。

6.配置Qt kit

①打开Qt creator,在菜单中选中tool下的option

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 ②点击Build&Run,选中compilers,选中Manual,分别添加C和C++,点击Add->GCC->C和C++,name自己取,路径选择

/opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc(C的路径)

/opt/gcc-arm-6.3.1/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++(C++的路径)

ABI选择arm-liunx,配置好后,点Apply。

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 ③配置Qt Version,如果前面步骤没错的,会自己配置好,如果没配置好,按照图中路径选取qmake,完成后点Apply。

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 ④添加Kits,选中Manual点Add,名字自取,其他选中如同所示。

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

注:感叹号不影响。

三.测试

测试使用的是QT开源社区提供的开源串口工具。

下载地址:qcom-1.1.tar.gz_免费高速下载|百度网盘-分享无限制 (baidu.com)

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 在ubuntu-64位下能成功编译并运行,切换ARM-32后,点Rebuild All,注意不要点Run。

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 在项目文件夹中可以找到编译好的应用程序

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 用file qcom可以查看应用程序版本和所依赖的库,如图可知已经编译为ARM-32位,注意运行应用程序需要目标机器中有相关的库。

ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

 将文件夹移至基于RK3288的Ubuntu18.04-arm-32系统中,如图所示可以运行。ububtu18.04 qt5.9 arm环境,qt,ubuntu,arm开发

参考博客:(21条消息) ubuntu18.04 安装Qt交叉编译环境目标机为rk3288_风一样的航哥的博客-CSDN博客_gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu文章来源地址https://www.toymoban.com/news/detail-583678.html

到了这里,关于Qt5.9 Ubuntu18.04-64位交叉编译目标机为Ubuntu18.04-arm-32位基于RK3288的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu 18.04 LTS交叉编译opencv 3.4.16并编译工程[全记录]

    参考博文: https://blog.csdn.net/qq_54199287/article/details/133780829?spm=1001.2014.3001.5506 如果遇到安装libjasper-dev错误,可参考博文: https://blog.csdn.net/lyc_daniel/article/details/133439255?spm=1001.2014.3001.5501 https://opencv.org/releases/ 放到home路径下的Exe文件夹(专门放用户安装的软件)中,其中build是后

    2024年02月04日
    浏览(56)
  • [linux]Ubuntu 18.04安装arm-linux-gcc交叉编译器的两种方法

    第一种:apt安装法: Ctrl+Alt+T弹出终端,使用如下命令进行arm-linux-gcc的安装:   使用如下命令进行arm-linux-g++的安装:   如果要卸载时使用如下命令进行移除,arm-linux-gcc的卸载:   arm-linux-g++的卸载:  第二种源码安装: 目前网上搜索发现,最多人安装的是4.4.3版本的

    2024年02月05日
    浏览(58)
  • QT5交叉编译保姆级教程(arm64、mips64)

    什么是交叉编译? 简单说,就是在当前系统平台上,开发编译运行于其它平台的程序。 比如本文硬件环境是x86平台,但是编译出来的程序是在arm64架构、mips64等架构上运行 本文使用的操作系统:统信UOS家庭版22.0 一、安装QT5: 二、安装编译所需的组件 #安装python环境(QT中的

    2024年02月05日
    浏览(52)
  • 在 Ubuntu 18.04 x86_64 上面安装 Linux-ARMv7 A/L GCC编译器

    一键安装  Linux-ARMv7A GCC编译器:(平板、手机一般是) ########################### 输入以下命令: 1、sudo apt update 2、sudo apt install gcc-arm-linux-gnueabi      sudo apt install g++-arm-linux-gnueabi 3、arm-linux-gnueabi-gcc --version 一键安装  Linux-ARMv7L GCC编译器:(机顶盒一般是) 1、sudo apt update

    2024年02月22日
    浏览(64)
  • Ubuntu与致远ARM交叉编译Qt5.12环境

            ARM板现有环境配置(主要是对/etc/profile/编辑)较简单,参考上一篇博客,板子上已经部署了Qt5.15。 Ubuntu与国产致远ARM_3568交叉编译Qt 此文档只是为了记录错误的过程,下一往篇博客会直接介绍正确的配置。 https://blog.csdn.net/qq_35529025/article/details/129524412        

    2024年02月22日
    浏览(46)
  • Ubunutu18.04+Qt5.14+Dlib19.24+Opencv3.4.16实时人眼监测实验

      在Ubuntu18.04实现的一个人眼监测小程序,使用Qt5.14、Dlib19.24、Opencv3.4.16实现。   其主要实现思想是,首先通过 Opencv 获取摄像头数据,然后通过 Dlib 提取人脸68关键点的算法对所输入图片中的人脸进行关键点检测,检测出眼部的关键点后,在用 Opnecv 中的画图命令进行绘制

    2023年04月13日
    浏览(73)
  • Ubuntu18.04安装编译ffmpeg库

    Download FFmpeg 在cd到ffmpeg的文件夹下,执行以下命令,配置安装路径: 安装: 修改 /etc/profile文件: 最后一行添加路径: 保存后source: 修改 /etc/ld.so.conf: 添加: 执行:

    2024年02月11日
    浏览(43)
  • Ubuntu18.04编译Caffe软件包

    正真的头文件位置处于/usr/include/hdf5/serial 目录下 进入项目根目录执行替换头文件 建立软连接 修改相关环境变量在文件 Makefile.config https://zhuanlan.zhihu.com/p/372521613 download 3.4.0 解压 编译

    2024年02月11日
    浏览(54)
  • Ubuntu18.04 Qt 实现MQTT

    什么是MQTT? 作用是什么(适用场景)? 与其他通讯协议相比,优缺点在那里? 使用 EMQ X(开源且可视化管理) 下载 EMQX 下载的是    emqx-5.0.26-ubuntu18.04-amd64.deb  直接访问:127.0.0.1:18083 无法访问的解决办法: 查看配置文件的默认端口号 (一般在 /etc/emqx/emqx.conf) 查看端口是

    2024年01月21日
    浏览(52)
  • ubuntu 20.04 aarch64 平台交叉编译 opencv

    win10 64 位 VMware Workstation Pro 16 虚拟机 虚拟机安装 ubuntu 20.04 opencv 版本: 来自 github 当前最新 4.7 交叉编译 opencv,用于 嵌入式 aarch64 平台 可以直接从 github 下载 release 版本或者 使用 git clone 最新的 opencv 仓库 github opencv https://github.com/opencv/opencv git clone https://github.com/opencv/openc

    2024年02月09日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包