ubuntu20安装出现致命错误_Qt5.6.2 安装 环境搭建 和 出现错误的解决

文章目录

  • Linux版本

    • 交叉编译环境搭建

      • 交叉编译器安装

      • qt5.6.2配置

    • 过程中出现的问题

      • 出现错误Failed to load module "canberra-gtk-module"

      • 出现错误No tool chain set from kit "Desktop Qt 5.6.2 GCC 64bit".

  • Windows版本

首先,我这里需要Qt5.6.2软件版本

下载速度比较慢,这里是下载Linux的版本,windows版本后面我也会说。

Linux版本

把qt软件安装包复制到虚拟机中,准备安装。

先修改该文件的权限,下面为qt opensource linux x64 5.5.1.run 添加可执行权限,再执行安装。

chmod +x qt-opensource-linux-x64-5.6.2.run
sudo ./qt-opensource-linux-x64-5.6.2.run

安装过程就不多说了,跟windows没啥区别,能安装的就都安装。

安装目录建议在

/opt/Qt5.6.2

交叉编译环境搭建

交叉编译器安装

我这里使用的fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0版本的交叉编译器922c3948528065118b6c342d8679e118.png
跟qt的安装类似,修改权限,然后执行交叉编译工具,直接执行脚本安装交叉编译工具,连续敲下两次回车键确认,再输入用户密码即可。本次安装的目录为脚本所指定的默认安装的目录,后面的内核编译环境的交叉编译都是按这个安装目录去操作,所以建议默认安装到 /opt/fsl-imx-x11/4.1.15-2.1.0 这个默认目录。

chmod u+x fsl fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0.sh
./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-neon-toolchain-4.1.15-2.1.0.sh

命令行会提示:

Enter target directory for SDK (default: /opt/fsl-imx-x11/4.1.15-2.1.0)

连续两次按下回车键,程序将会自动安装交叉编译器以及QT 相关的SDK

设置环境变量:
注意“.”后面的空格

. /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi

检查编译器是否安装成功:

arm-poky-linux-gnueabi-gcc -v

正常情况下会打印出gcc 的版本信息:
gcc version 5.3.0 (GCC)

qt5.6.2配置

8452098398f46fa3254f8b9cb7cd2efc.png6e869d742e9bd8988b442e8e529d37af.png
按如下的步骤添加GCC 编译器,(这里我啰嗦一下,我们配置的是 GCC 编译器, Windows下配置的编译器名称叫 MinGW Minimalist GNU on Windows ,实际上是将经典的开源 C/C++语言编译器 GCC 移植到了 Windows 平台下)。在选项中还有更多的编译器名称,这一步也是 Qt 为跨平台做的一步工作。浏览这个路径
/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
找到我们第 1 节里安装的交叉编译器arm-poky-linux-gnueabi-g++ 。4c673bbdfafacdcf6a6967ccf6a0df7c.png

(题外话这里为什么不是 arm poky linux gnueabi gcc 呢?gcc 是编译 c 语言的, g++可以编译 c 语言还包括 c++,我们 Qt 编程语言就是 c++)。c103845679745ebd26f601d939c7d140.png
这里说明一下为什么要在Qt mkspec 填上 linux oe g++ 。实质这里指定了 …/mkspesc/linux-oe-g++ 下的 qmake.conf 文件 用于执行 qmake 时生成 Makefile)

要想正确使用安装的编译工具链 ,还需要向 Qt Creator 加入环境变量。在Qt creator 的启动脚本里使能环境变量,在 /opt/Qt5.5.1/Tools/QtCreator/bin/qtcreator.sh 的第一行插入使能交叉编译工具链的指令

source /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi

(注意这里不能在##!!/bin/sh 以下行插入)。

sudo nano /opt/Qt5.6.2/Tools/QtCreator/bin/qtcreator.sh

ca08cbe2521302f66377e37a1d9cdcea.png
保存退出后,先关闭当前的 Qt Creator 。再在终端使用指令启动 Qt Creator 。注意要想这个环境变量生效, 必需通过脚本来启动 Qt Creator ,这里很重要啊 没使能环境变量去使用imx6 kits 会出现“ make c ”之类的错误 。

/opt/Qt5.5.1/Tools/QtCreator/b in/qtcreator.sh & 

通过脚本运行42aa758d7aa9bcb72d7ee47a4a560354.png
打开后,找到一个例程,右键构建,这里是没有办法运行,因为使用的交叉编译器的ARM的。08b7467935b0463c8563181d31be456e.pngb1ce9f2dac76ca9ef136046094dd0d57.png检查QT编译环境:

qmake -v

QMake version 3.0
Using Qt version 5.6.2 in /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib

修改QT配置文件:

sudo nano /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/qt5/mkspecs/linux-oe-g++/qmake.conf

删除 include(…/oe-device-extra.pri)

9fcf4ae090e887e78cbe5223eee1f7c6.png
保存退出就可以了。

过程中出现的问题

出现错误Failed to load module “canberra-gtk-module”

9913bad3826ccc120f33b40cfadefd42.png

出现错误No tool chain set from kit “Desktop Qt 5.6.2 GCC 64bit”.

215e5559210d0c3aa2ed5f5d45c09060.png

打开Qt之后,选择项目,构建,右下角,红色

显示qmake之后,不能进行make操作

sudo apt-get installbuild-essential
sudo apt-get install libglu1-mesa-dev

安装完毕,可以正常构建

42aa758d7aa9bcb72d7ee47a4a560354.png

Windows版本

按照最初的设想,希望是在windows环境下进行QT的编辑,最后使用Linux的qt进行编译。windows版本也只是一个编写的过程,所以安装起来也没有像Linux中一样繁琐的过程。

把写好的工程复制到linux环境下

qmake

make

这个Qt教程感觉还是很不错的,至少有个入门。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值