米尔MYC-YT507开发板测评:开发环境篇之三:Qt打坦克游戏
[复制链接]
前言
本文以一个Qt实现的喜闻乐见的打坦克游戏,来体验本开发板的Qt开发过程,主要从二次开发的角度,关注开发环境搭建的便捷性。
准备
参考《米尔MYC-YT507开发板测评:开发环境篇之一:Linux C按键控制LED》安装交叉编译环境。
以及基本的登录文件传输等操作。
安装Qt开发环境
安装编译环境
windows下从http://down.myir-tech.com/MYD-YT507H/下载资料,其中03_Tools.zip解压
我这里解压后为E:\BOARD\MYC-YT507\03_Tools
将文件夹Complie Toolchain名字改为Complie_Toolchain因为linux中命令行文件名不能有空格。
wsl中
cd ~
mkdir MYD-YT507H
cd MYD-YT507H/
直接将windows下的文件解压到WSL中
tar -xvf /mnt/e/BOARD/MYC-YT507/03_Tools/Complie_Toolchain/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu-qt5.12.5-myir.tar.bz2 -C .
安装 Qt Creator
下载QtCreator
wget https://mirrors.tuna.tsinghua.edu.cn/qt/development_releases/qtcreator/5.0/5.0.0-rc1/qt-creator-opensource-linux-x86_64-5.0.0-rc1.run
chmod +x qt-creator-opensource-linux-x86_64-5.0.0-rc1.run
./qt-creator-opensource-linux-x86_64-5.0.0-rc1.run
需要实现注册账号
运行/home/lhj/qtcreator-5.0.0-rc1/bin/qtcreator.sh &
配置
菜单栏点击 Tools -> Options
配置编译器
左边点击 Kits ,右边选择 Compilers标签
添加G++编译器
设置Name为YT507H-G++
Compiler path为/home/lhj/MYD-YT507H/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
点击"Apply"
同样方式添加GCC编译器
设置Name为YT507H-GCC
Compiler path为
/home/lhj/MYD-YT507H/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
配置完后如下
配置Qmake
选择"Qt Version"标签,在右侧点击"Add...",会弹出 qmake 路径选择对话框
选择/home/lhj/MYD-YT507H/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/Qt_5.12.5/bin/qmake,点击Open
"Version name"改为 Qt %{Qt:Version} (MYIR-YT507H-System)。然后点击"Apply"按钮
配置Device
选择左侧"Device",点击右边的"Add..."按钮,
配置Kits
左侧Kits,右侧Kits选项卡,点击Add
Name设置为YT507H-dev-kit
选择DeviceType
选择Device
选择Sysroot:/home/lhj/MYD-YT507H/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/Qt_5.12.5/aarch64-buildroot-linux-gnu/sysroot
Compiler选择刚才配置的C和C++编译器
Qt version选择Qt 5.12.5 (MYIR-YT507H- System)
"Qt mkspec"填写为"linux-aarch64-gnu-g++"
点击Apply
点击OK
Tanks
git clone
打开QtCreator
/home/lhj/qtcreator-5.0.0-rc1/bin/qtcreator.sh &
File-> Open File or Project...选择刚clone的代码
选择YT507H-dev-kit
点击Configure Project
菜单栏
Build->Clean
Build->Build All Projects
提示
搜索find ../ -name libGLESv2.so
找到路径为
/home/lhj/MYD-YT507H/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/Qt_5.12.5/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libGLESv2.so
手动修改/home/lhj/MYD-YT507H/build-tanks-YT507H_dev_kit-Debug/Makefile如上红色框中的内容为/home/lhj/MYD-YT507H/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/Qt_5.12.5/aarch64-buildroot-linux-gnu/sysroot/usr/lib/libGLESv2.so
编译后的代码位于
/home/lhj/MYD-YT507H/build-tanks-YT507H_dev_kit-Debug/Tanks
导出到Windows下
cp /home/lhj/MYD-YT507H/build-tanks-YT507H_dev_kit-Debug/Tanks /mnt/e
再导入到开发板。
运行
ps查看myapp2的进程号 kill掉
export QT_DEBUG_PLUGINS=1 使能调式打印方便有问题分析
./Tanks 运行
如果打印
./Tanks: error while loading shared libraries: libQt5Widgets.so.5: cannot open shared object file: No such file or directory
则:
export LD_LIBRARY_PATH=/usr/local/Qt_5.12.5/lib/:$LD_LIBRARY_PATH
查看我们这里库路径是/usr/local/Qt_5.12.5/而程序中引用的是/usr/local/Qt-5.12.5/
所以创建软链接
ln -s /usr/local/Qt_5.12.5/plugins/platforms/ /root/platforms
ln -s /usr/local/Qt_5.12.5 /usr/local/Qt-5.12.5
如果打印
loaded library "/usr/local/Qt_5.12.5/plugins/egldeviceintegrations/libqeglfs-emu-integration.so"
EGL library doesn't support Emulator extensions
Aborted
则
export QT_QPA_EGLFS_INTEGRATION=none
如果打印
QFontDatabase: Cannot find font directory /usr/local/Qt-5.12.5/lib/fonts.
则软链接到实际的字体文件处
ln -s /usr/local/Qt-5.12.5/fonts/ /usr/local/Qt-5.12.5/lib/fonts
使用USB鼠标键盘控制
按键
W:前进
S:后退
A:左转
D:右转
按键1,2,3分别选择火力,
按键q射击。
按键s暂停与继续
总结
开发板支持Qt5.12,镜像中已安装了相应的运行环境。SDK也提供了工具链可以直接使用,所以开发是非常便捷的,相关文档也比较详细,对开发者比较友好。
参考
MYD-YT507H_QT应用开发笔记.pdf
|