Linux下的Qt环境搭建(arm交叉编译)

注意:本文软件环境为在虚拟机里搭建的ubuntu-14.04.5-desktop-amd64.iso,虚拟机版本VMware-workstation-full-9.0.0,如果链接中内容发生迁移无法下载可留下联系方式,虚拟机系统安装过程本文不做讲解,Qt的使用本文也不做讲解,本文的全部指令是在root用户权限下。由于论坛限制上传文件大小,所以如果需要本文所用到的文件可以留言。

在这里插入图片描述

Qt环境安装应用

由于笔者最终是想将应用交叉编译运行到ARM开发板上(天嵌的E9_V3),此时只有Qt5.5的交叉编译工具,所以为了版本统一,Qt的版本也选择了Qt5.5 (如果连接失效请留言),下载时注意选择和系统位数一样:
在这里插入图片描述
将下载下来的文件放到虚拟机里面,具体如何把下载下来的文件放进去方法不唯一,可以共享目录,也可以挂载U盘,也可以通过网络发送,装了虚拟工具过后也可以直接拖拽进去,但是,需要对比放到虚拟机的文件和本地PC的文件大小,由于笔者在运行安装文件时发现始终不能识别可执行文件,检查后才发现虽然虚拟机里面的文件名字和本地PC的一样,仔细对比才发现虚拟机里的文件不完整。
在这里插入图片描述
放进来后需要做的第一件事是修改这个文件的权限,把可执行权限加上,读者在用命令的时候要看看是否处于该文件目录。
chmod +x qt-opensource-linux-x64-5.5.1.run
在这里插入图片描述
直接运行这个文件集会弹出安装界面:
./qt-opensource-linux-x64-5.5.1.run
在这里插入图片描述
一直下一步,如果需要修改安装的路径就下面这一步选择自己的路径,笔者默认路径:
在这里插入图片描述
到了下面这一个界面就根据自己的需要选择安装,笔者就选了第一个:
在这里插入图片描述
下一步直到安装完成。到安装路径下找到应用的开启程序:
在这里插入图片描述
执行了./qtcreator后就会弹出qtcreator应用程序界面。把路径添加到环境变量会更方便。

安装g++

这是参考链接
在使用qtcreator创建工程之前安装g++,Ubuntu系统默认会有gcc环境,g++环境需要手动安装:
apt-get install g++
如果不安装g++创建工程编译会提示如下
在这里插入图片描述

安装gl库

Qt5工程会自动导入opengl,所以在linux下需要安装支持的库否则编译会失败,提示如下:
在这里插入图片描述
直接执行如下指令:
apt-get install build-essential libgl1-mesa-dev
出现如下提示输入’y‘并回车直到结束:
在这里插入图片描述
到这里就可以通过qtcreator创建应用了,如果只需要在linux上开发到这里就结束了,笔者是需要将应用布置到E9开发板上,所以还需要安装一个交叉编译器,将应用编译生成能在ARM平台运行的应用。

安装交叉编译器

我使用的是天嵌提供的gcc-linaro-5.3-20170216.tar.bz2,解压文件到根目录:
tar -xvf gcc-linaro-5.3-20170216.tar.bz2 /
解压完成过后在/opt下会多一个Embedsky目录。
配置环境变量:
vi /etc/profile
在这里插入图片描述
或者gedit /etc/environment,主要是添加两个路径到环境变量:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/EmbedSky/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin:/opt/EmbedSky/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/qt5.5/rootfs_imx6q_V3_qt5.5_env/qt5.5_env/bin"

使用指令source /etc/profile来使配置生效。
查看环境配置是否成功:
arm-qmake-imx6-qt5.5 -v
在这里插入图片描述
arm-linux-gnueabihf-g++ -v在这里插入图片描述
通过如上两个命令能够出现版本信息说明配置OK。

配置交叉编译器到qtcreator

在这里插入图片描述
在这里插入图片描述

创建工程的时候选择编译器,上面那个编译器编译的就可以在linux平台运行,下面一个是arm平台的编译器:
在这里插入图片描述

创建应用编译运行

在布局中只放了一个label:
在这里插入图片描述
在这里插入图片描述
将生成的文件放到E9板子里面(E9板子运行的文件系统为天嵌提供的rootfs_qt5_IMX6_for_linux_V3.0_R1.6.tgz,文件系统的烧录请参考天嵌提供的手册),这里就将文件放到U盘中挂载到E9上。在这里插入图片描述
使用指令fdisk -l查看,如下就是U盘信息:
在这里插入图片描述
如果是fat格式的U盘,挂载命令:mount -t vfat /dev/sda1 /mnt
如果是ntfs格式的U盘,挂载命令:mount -t ntfs-3g /dev/sda1 /mnt
卸载命令:umount -v /dev/sda1
在这里插入图片描述
(这里把test1改成了test)
把文件从/mnt下拷贝到/opt,并执行:
在这里插入图片描述
在显示屏上即可看到:
在这里插入图片描述
到此也就成功了,如果不用qtcreator也可以直接使用指令编译:
到工程目录下使用arm-qmake-imx6-qt5.5生成Makefile:
在这里插入图片描述
然后使用指令make生成应用:
在这里插入图片描述
在工程目录下就可以看到生成的应用,和使用qtcreator编译出来的一样可以拷贝到板子里面运行:
在这里插入图片描述

设置成开机自启动

将test应用设置成开机自启动需要用到应用所处的路径:
在这里插入图片描述
修改/etc/embedsky_conf文件,最后一行就是系统开机运行的应用路径,test为应用名:
在这里插入图片描述
到处本文就结束了,如果读者在参照过程中发现有哪里描述不妥请留言告知。

  • 54
    点赞
  • 330
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 25
    评论
要搭建 QtARM 平台上的交叉编译环境,可以按照以下步骤进行操作: 1. 安装交叉编译工具链:首先,你需要安装适用于 ARM 平台的交叉编译工具链。这个工具链包括编译器、链接器和其他必要的工具。你可以从 ARM 官方网站或者硬件供应商的官方网站上下载适用于你的平台的工具链。 2. 设置环境变量:将交叉编译工具链的路径添加到系统的 PATH 环境变量中,以便在命令行中可以直接使用交叉编译工具。例如,在 Linux 系统中,可以通过编辑 ~/.bashrc 文件,并在其中添加以下行来设置环境变量: ``` export PATH=/path/to/cross-compiler/bin:$PATH ``` 其中,`/path/to/cross-compiler` 是你安装的交叉编译工具链的路径。 3. 下载 Qt 源代码:在 Qt 官方网站上下载适用于 ARM 平台的 Qt 源代码包。确保选择与你的交叉编译工具链兼容的版本。 4. 解压源代码:将下载的源代码包解压到一个目录中。 5. 配置 Qt 编译选项:在解压后的源代码目录中打开一个命令行终端,执行以下命令来配置 Qt 编译选项: ``` ./configure -prefix /path/to/qt/installation -xplatform linux-arm-gnueabi-g++ -release -opensource -confirm-license ``` 其中,`/path/to/qt/installation` 是你希望 Qt 安装到的目标路径。`linux-arm-gnueabi-g++` 是交叉编译工具链的前缀,根据你的工具链名称进行相应的替换。 6. 编译 Qt:配置完成后,执行 `make` 命令来开始编译 Qt。这个过程可能需要一些时间,取决于你的系统性能和编译选项。 7. 安装 Qt:编译完成后,执行 `make install` 命令来安装 Qt 到指定的安装路径。 完成以上步骤后,你就成功搭建了 QtARM 平台上的交叉编译环境。现在你可以使用这个环境来编译运行在 ARM 平台上的 Qt 应用程序了。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xflySnail

码字不易,鼓励鼓励...

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值