linux下qt开发环境搭建

1:准备环节

下载交叉编译工具

http://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/aarch64-linux-gnu/

选择gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz

为什么选择这个?

 

 

 

下载QT源文件qt-everywhere-src-5.13.0-rc.tar.xz

http://download.qt.io/archive/qt/5.13/5.13.0/single/

下载QT的IDE qt-opensource-linux-x64-5.13.0.run

http://download.qt.io/archive/qt/5.13/5.13.0/

2:安装交叉编译工具

将下载的交叉编译工具gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz复制到你想安装的目录下,我们这里选择为/opt文件夹下,复制完成后在/opt目录下输入命令

 sudo tar -xvf gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz

解压完成后将获得的文件夹重命名为gcc-aarch64-linux-gnu,然后将/opt/gcc-aarch64-linux-gnu/bin目录添加到环境变量中,输入命令

sudo gedit /etc/profile

在末尾添加如下内容

export PATH="/opt/gcc-aarch64-linux-gnu/bin:$PATH"

接着输入命令

source  /etc/profile

让环境变量生效,也可以重启Ubuntu系统。

或者直接在后台输入export PATH=$PATH:/opt/gcc-aarch64-linux-gnu/bin:$PATH"

接着通过下面的命令来验证是否安装成功

aarch64-linux-gnu-gcc -v

若出现如下图所示情况,则证明安装成功了。

 

 

 

3.交叉编译qt库

将下载的qt-everywhere-src-5.13.0-rc.tar.xz压缩包复制到/opt目录下,完成后在/opt目录下输入命令

tar -xvf qt-everywhere-opensource-src-5.13.0.tar.xz

解压完成后进入获得的文件夹下,ls一下,可以看到如下文件

 

 

 

接着输入命令

sudo gedit /opt/qt-everywhere-opensource-src-5.13.0/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf

在其中添加如下内容,如图所示

QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts

 

 

 

保存后接着输入命令

sudo gedit auto.sh

新建的auto.sh为交叉编译自动配置脚本,在其中添加以下内容

#!/bin/sh

./configure \

-prefix /opt/qt5.13.0-arm \

-confirm-license \

-opensource \

-release \

-make libs \

-xplatform linux-aarch64-gnu-g++ \

-pch \

-qt-libjpeg \

-qt-libpng \

-qt-zlib \

-no-opengl \

-no-sse2 \

-no-openssl \

-no-cups \

-no-glib \

-no-dbus \

-no-xcb \

-no-separate-debug-info \

其中/opt/qt5.13.0-arm 为编译后的安装目录,-xplatform linux-aarch64-gnu-g++为交叉编译相关选择,还记得之前我们修改过/opt/qt-everywhere-opensource-src-5.13.0/qtbase/mkspecs/linux-aarch64-gnu-g++文件夹下的qmake.conf文件吧,前后是有对应的,-no-xcb要选择,要不然编译会出差,尝试了各种方法也没解决这个问题。接着修改该文件权限并执行

sudo chmod 777 auto.sh

sudo ./auto.sh

首次时间会比较长,结束后会显示如下结果并生成Makefile文件

 

 

 

接着输入

sudo make

进行编译,大概需要一个小时,编译完成后输入命令

sudo make install

大约一分钟后,可以看见/opt目录下出现了我们指定的安装目录/opt/qt5.9.1-arm,表示安装成功。

4.安装qtcreator

将下载的qt-opensource-linux-x64-5.13.0.run复制到/opt目录下,输入命令

Sudo ./qt-opensource-linux-x64-5.13.0.run

安装时按照提示一步步点击下一步,这里只选择Tools,如图

 

 

 

安装完成后我们可以在下面的目录下看到qtcreator,运行即可

cd /opt/Qt5.13.0/Tools/QtCreator/bin

sudo ./qtercator

运行程序结果如下

 

 

 

点击工具下的选项,点击构建与运行,在编译器栏中的manual添加我们前面安装的交叉编译工具,包括aarch64-linux-gnu-gcc与aarch64-linux-gnu-g++,如下图所示

 

 

 

接着点击Qt versions栏添加qmake,目录为交叉编译后安装的qt目录,如下图所示

 

 

 

最后在构建套件栏目添加套件,如下图所示,包括名称、设备类型、编译工具、Qt版本等信息,如下图所示

 

 

 

5.将交叉编译的QT库复制到板子上

在/opt目录下输入命令

tar -zcvf qt5.13.0.tar.gz qt5.13.0-arm

其中qt5.13.0.tar.gz为生成的压缩文件名称,qt5.13.0-arm为交叉编译后安装的目录

将qt5.13.0.tar.gz拷贝到板子上的/opt文件夹下并解压

cd /opt

tar -zxvf qt5.9.1.tar.gz

接着将qt程序运行所依赖的相关文件、配置等添加到环境变量中,操作如下

sudo vi /etc/profile

在其中添加如下内容

export QTEDIR=/opt/qt5.13.0-arm/

export LD_LIBRARY_PATH=/opt/qt5.13.0-arm/lib:$LD_LIBRARY_PATH

export QT_QPA_PLATFORM_PLUGIN_PATH=$QTEDIR/plugins

export QT_QPA_PLATFORM=linuxfb:fb=/dev/fd0

export QT_QPA_FONTDIR=/usr/share/fonts/ttf

如图所示

 

 

 

然后重启板子或者执行source /etc/profile让环境变量生效

6.执行程序

将编译完成的应用程序拷贝到文件系统中

执行程序的时候指定一下平台
./<app-name>   -platform  linuxfb

posted @ 2020-04-17 13:43  蒲城小农  阅读(3800)  评论(0编辑  收藏  举报