https://download.qt.io/archive/qt/5.14/5.14.1/
下载你所需要的QT版本记得是linux版本的,然后根据自己电脑的位数选择合适的.
下载完后将文件复制到虚拟机linux内,也可直接通过Linux下载。
我把此安装包放在了网盘,链接在文末,可以自行下载。
安装
对qt-opensource-linux-x64-5.14.1.run文件赋予可执行权限:
sudo chmod 777 qt-opensource-linux-x64-5.14.1.run
再在qt-opensource-linux-x64-5.14.1.run文件所在目录下运行.run文件
./qt-opensource-linux-x64-5.14.1.run
然后按照windows下一样的步骤进行点击安装就可以了,大多点默认就可以,此处安装过程省略。
注意:安装完成 Qt 5.14.1 是不会在桌面出现启动快捷方式的,可以在/opt/Qt5.14.1/Tools/QtCreator/bin/下直接执行 qtcreator.sh 脚本来启动 Qt Creator。启动 Qt creator,如下执行指令。
Ubuntu# /opt/Qt5.5.1/Tools/QtCreator/bin/qtcreator.sh & (&的作用为在后台运行)
或者在桌面顶层左则资源搜索器处搜索“qt”也可以打开 Qt Creator。(如果需要使能环境变量的情况下,不建议这样打开,如果你只是需要编译出 ubuntu 上跑的程序时,可以这样打开) 。
Qt Creator 启动后出现下图欢迎页面,至此 Qt Creator 安装完毕。
OpenSTLinux SDK 是 Yocto SDK 定制发行版的软件开发套件, 它提供了独立的交叉开发工具链和针对
特定镜像中所使用到的特定链接库。提供的 SDK 是基于 STM32MP1A 开发板的定制交叉编译工具链,
该工具链可用STM32MP157开发板中所有项目的编译与调试。交叉编译链链接在文末链接/MP157/QT开
发环境搭建/QT安装/,将资料下的meta-toolchain-qt5-openstlinux-eglfs-fsmp1a-x86_64-toolchain-3.1-
snapshot.sh 通过sftp复制到 ubuntu 主机中, 也可以采用共享文件夹的方式将文件存入 上面建立的工具tools目录下
添加可执行权限
peanut@JPlover ~ % chmod a+x meta-toolchain-qt5-openstlinux-eglfs-fsmp1a-x86_64-toolchain-3.1-snapshot.sh
执 行 meta-toolchain-qt5-openstlinux-eglfs-fsmp1a-x86_64-toolchain-3.1-snapshot.sh 安 装 脚本。
peanut@JPlover ~ % ./ meta-toolchain-qt5-openstlinux-eglfs-fsmp1a-x86_64-toolchain-3.1-snapshot.sh
默认安装路径安装在 opt 目录下, 这个目录需要有 root 权限, 所以安装时需要使用 sudo 安装, 过程中
需要输入用户的 sudo 密码(如果当前用户 sudo 功能已经授权, 这个密码就是用户的登录密码), 输入密
导入 sdk到环境变量
#切换到安装目录
peanut@JPlover ~ % cd /opt/st/fsmp1a/3.1-snapshot/
#设置临时环境变量
peanut@JPlover ~ % source ./environment-setup-cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi
验证开发工具是否安装正确, 显示版本信息如下图所示。
peanut@JPlover ~ % arm-ostl-linux-gnueabi-gcc -v
1) 配置 GCC
运行 QtCreator 后, 依次点击"工具"->“选项”, 出现选项对话框, 在左侧点击"Kits",右边选择"编译器"标
签。 点击右侧"添加"按钮, 弹出下拉列表后, 选择"GCC"的"C"。
填写信息如下, “Name"为"mp157-gcc”, “编译器路径"点击旁边的"浏览…“按钮选择路径是”/opt/st/fsmp1a/3.1-snapshot/sysroots/x86_64-ostl_sdk-linux/usr/bin/arm-ostl-linux-gnueabi/arm-ostl-linux-gnueabi-gcc”。
2) 配置 G++
点击右侧"添加"按钮, 弹出下拉列表后, 选择"GCC"的"C++", 下面的文本框填写"Name"为"mp157-g++", “编译器路径"点击旁边的"浏览…“按钮选择到路径是”/opt/st/fsmp1a/3.1-snapshot/sysroots/x86_64-ostl_sdk-linux/usr/bin/arm-ostl-linux-gnueabi/arm-ostl-linux-gnueabi-g++”。
填写完成后, 点击"Apply"。
选择"Qt Versions"标签, 在右侧点击"添加…"。
会 弹 出 qmake 路 径 选 择 对 话 框 , 路径指定为 “/opt/st/fsmp1a/3.1-snapshot/sysroots/x86_64-ostl_sdk-linux/usr/bin/qmake”。 选择” qmake” 文件后, 点击"Open"按钮。
“Version name"改为” Qt %{Qt:Version} (mp157)"。 然后点击"Apply"按钮。
此时仍未配置MP157板卡环境,所以先不配置devices
点击左侧"Kits", 右侧选择"构建套件Kits"标签,然后进行添加在弹出的对话框中"Name"为"STM32,P157", “Device Type"选择"Generic Linux Device"选项, “Sysroot"选择目标设备的系统目录”/opt/st/fsmp1a/3.1-snapshot/sysroots/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi” 。“Compiler"选择之前配置的名 称"mp157-gcc"和mp157-g++”, “Qt version"选择之前配置的名称"Qt 5.14.1(mp157)”, 其它默认即可, 最后点击"Apply"和"OK"按钮。
至此,Ubuntu下的qt交叉编译环境搭建完毕。
打开qt creator,打开analogclock示例项目,
左下角可以选择本地的x86编译套件,运行该示例并输出,
若选择进行交叉编译,在左下角可以选择编译套件kit,我们选择上面配置好的STM32MP157,选择release
模式,点击构建,因为由于这是交叉编译,所以编译出来的程序不能在本地 PC 机上运行或调试。因此不
能点击运行按钮运行程序,也不能点击调试按钮调试程序。
打开build-analogclock-STM32MP157-Debug文件夹,在里面可以发现以下文件,
图中的analogclock文件即为交叉编译链编译出来的在mp157板卡上运行的可执行文件。
至此,Ubuntu端QT交叉编译环境就建立完成。后续只需要将此可执行文件通过文件传输协议移植到ARM
开发板上即可,会在第二部分应用开发进行讲解。