Qt学习
Qt交叉编译环境搭建
安装交叉编译工具链
-
fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh(yocto 编译出来的 sdk 工具包)拷贝到 Ubuntu 虚拟机
-
修改权限
chmod u+x fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh -
直接执行脚本(默认安装到/opt/fsl-imx-x11/4.1.15-2.1.0 这个默认目录 )
./fsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh
安装Qt
sudo apt-get install build-essential libgl1-mesa-dev- Qt下载地址
- 下载对应安装包
qt-linux-opensource-5.1.0-x86_64-offline.run - 传给Ubuntu
- 给予权限
chmod +x qt-linux-opensource-5.1.0-x86_64-offline.run - 执行安装指令,安装到默认位置
sudo ./qt-linux-opensource-5.1.0-x86_64-offline.run
卸载Qt
- 进入安装目录
sudo ./MaintenanceTool
移植到imx6ull开发板上
- 需要用到正点原子官方的设备树和镜像文件,但是用他们的源文件编译完成之后却找不到对应的设备树文件,艹,明天看看咋回事
- 出厂系统文件:alientek-linux.coding.net/public/imx6…
- uboot用的自己的,zImage和设备树文件用的正点原子的,还有文件系统
- 在Qt中安装一个ARM的编译器(就是选择之前安装的交叉编译环境的的编译器,包括qmake、gdb和g++编译器)
rpm安装包相关操作
-
安装rpm安装包
rpm -ivh rpm_name参数解释: -i(install):安装软件包。 -v(verbose):显示安装的过程信息。可视化。 -h(hash):软件安装的时候列出哈希标记。即显示安装进度。 另外在安装一个rpm包时常用的附带参数有: --force : 强制安装,即使覆盖属于其他包的文件也要安装 --nodeps : 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包 -
卸载rpm安装包
rpm -e filename-e(erase擦去,抹去,除掉):清除,卸载软件包。 卸载时后边跟的filename和安装时的是有区别的,安装时是把一个存在的文件作为参数,而卸载时只需要包名即可。 -
查看一个安装的包的相关信息
rpm -qi 包名- -i(info):列出软件包的详细信息。rpm -q --info ibus
-
升级一个rpm包
rpm -Uvh filename- -U(upgrade):升级软件包。
- -v,-h:同上,显示安装过程。
-
查询一个包是否安装
rpm -q rpm包名 -
列出rpm包安装的文件
rpm -ql 包名-l(list):列出软件包中的文件。
-s(state):显示列出文件的状态。
遇到的问题
-
打开Qt时提示无权限更改.config文件,提示
[QTCreator出现提示无法覆盖文件 /home/xxx/.config/QtProject/Qtcreator/qtversion.xml : Permission denied的错误](https://www.cnblogs.com/Rainingday/p/13841572.html)执行指令
sudo chown -R lux:lux ~/.config/ -
Qt第一次编译报错
cannot find lGL执行
sudo apt-get install build-essential libgl1-mesa-dev -
执行解决
cannot find -lGLsudo apt-install libqt4-dev -
执行报错
error while loading shared libraries: libQt5WebKitWidgets.so.5: cannot open shared object file: No such file or directory执行
sudo apt-get install libqt5widgets5
发布Qt的工程
- 将Qt工程中的Debug模式调整为Release模式,运行一次工程文件
- 找到工程文件下生成的Release的文件夹
- 在Win10搜索框中搜索Qt,打开Qt 5.14.2 (MinGW 7.3.0 32-bit)
- 在命令窗口中进入生成的EXE文件目录下
- 执行windeployqt name.exe打包所需要的的库文件即可
开发进度
20211128
-
QClock可以编译,通过命令行编译
- qmake
- make
- make distclean
-
可以移植到开发板运行,但是运行会显示正点原子官方的UI背景
-
u-boot启动Linux不会自动加载
-
QWeb不能运行
-
自己写的Qt程序如果直接选择ARM编译器会报错,就可以程序编辑好,用命令行编译
-
自己写的Qt程序也会被正点原子官方的UI给覆盖掉,可能是官方的UI是后台运行,想办法找出来PID,然后kill掉
20211205
- 不能自动加载内核可能是因为boot移植的有问题,现在配置好bootcmd直接运行run bootcmd 运行正常
- 覆盖的问题还没找到解决的原因
- 现在qmake编译之前还要先运行source /opt/f.../4../e.. 这个问题也得解决