Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5

接着下篇”交叉编译安装QtEmbedded5.5″,我们早已成功在Windows上交叉编译了RaspberryPi的嵌入式Qt5.5。这么我们就可以开始开发基于Qt5的应用程序。接出来,我们须要在Windows上搭建必要的Qt开发工具,首当其冲就是官方的QtCreator,除了提供了原生的C++编辑器,Qt界面设计器,并且还可以集成现有的Qmake,gcc甚至于VisualStudioC++编译器来配置编译Qt项目,自带的QML协程可以快速的将QML内容翻译成代码并集成子啊项目中;并且借助自带的GDB可以进行代码运行时调试。

下边,我们就借助Windows平台上的QtCreator与我们早已打算好的覆盆子派中的Qt5.5来集成开发基于RaspberryPi的QtEmbedded应用程序。过程中,我们须要交叉编译RaspberryPi版的GDB用于远程调试。

1.打算工作

安装QtforWindows,我们可以注册一个Qt帐号,之后选择安装目录并继续。

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

2.配置编译环境

安装完成后,打开QtCreator。在Creator中的项目,类似于Xcode,我们须要配置很多种目标环境,不同的项目须要配置指定目标环境,就可以针对目标编译生成。

打开Tools->Options…

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

选择Devices,点击Add..降低一个GenericLinuxDevice,之后StartWizard嵌入式linux开发qt界面,填入设备名子,网路地址以及用户名密码等。

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

完成后,会手动开始测试设备联接。

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

之后我们可以开始配置Build&Run,选择QtVersions,添加一个QtVersion,选择我们之前编译好的Windows下的qmake:

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

之后添加一个Compiler,选择Compilers选项卡,Add..一个MinGW类型的编译器,选择Raspberrybinarm-linux-gnueabihf-g++.exe

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

添加一个CMake,Raspberrybinmake.exe

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

好了,最后我们就须要配置出一个Kit,包含一个目标环境所须要的qmake,设备,CMake,以及配置文件。点击Kits选项卡:

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

保存新的Kit配置。

由于QtCreator的DebuggerGDB须要有Python支持,然而MinGW中提供的GDB均没有支持Python,所以我们目前难以指定Debugger,须要以后交叉编译一个RaspebrryPi支持的GDBwithPython才可以作为Debugger来调试。

3.新建QtforRaspberryPi项目并编译测试

点击File->NewFileorProject,打开新建项目向导,选择QtWidgets项目模板,填入项目名称,勿必在KitSelection中选择才新建的Kit环境。

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

完成代码后,我们可以通过左后侧的编译运行按键直接编译输出到RaspberryPi

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

图片[12]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

目前我们只能使用

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

Run,还未能使用调试器。我们可以打开QtExamples中的项目来进行测试。

下篇提到“在Windows下用QtCreator开发编译RaspberryQt5应用程序”,因为目前QtCreator所支持的GDB须要有Python支持,然而目前MinGW中的GDB都是无Python支持的,所以我们须要自己下载GDB代码而且编译成针对RaspberryPi支持Python的版本。

1.打算工作

解压缩QtCreator源码,倒入C:Download目录,但是将其他下载的库及代码装入C:Downloadqt-creator-opensource-src-3.6.0-rc1distgdbsource(在gdb目录下新建一个source目录)

2.配置编译环境

有人要说,为何不用之前toolchainforWindows的MinGW32来编译,由于经过本人多次尝试,发觉toolchain中的MinGW版本偏低,有一个time.h的结构体申明bug造成我们GDB编译难以进行。所以我们须要更新到最新的MinGW版本来编译GDB

安装MinGW-get到C:MinGW

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

完成后打开C:MinGWbinmingw-get.exe,选择BasicSetup->勾选右边列表中mingw-developer-toolkit,mingw32-base,mingw32-gcc-g++以及msys-base软件包,点击菜单Installation->ApplyChanges完成软件包的安装。

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

安装软件完成后嵌入式linux开发qt界面,打开C:MinGWmsys1.0msys.bat步入MinGWshell环境。

3.配置编译GDBwithPythonforWin/Linux/ARM

打开C:Downloadqt-creator-opensource-src-3.6.0-rc1distgdbMakefile.mingw文件

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

在targets那一行添加RaspberryPi的ABI:arm-linux-gnueabihf,之后保存文件。打开msysshell,步入目录C:Downloadqt-creator-opensource-src-3.6.0-rc1distgdb,make这个Makefile.mingw开始编译:

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

注意:过程中可能会下载一些软件包,确保你的网路联接的稳定,有条件的可以FQ连上VPN。假如下载仍然出现问题,则可以选择自动下载这些软件包装入source目录中。

当编译打包全部完成后(大约会花一个小时编译),你可以在C:Downloadqt-creator-opensource-src-3.6.0-rc1distgdbqtcreator-gdb-7.10找到编译好的GDB,但是也有一个打包好的qtcreator-gdb-7.10-mingw32_nt-6.2-i686.tar.gz在distgdb目录下。

4.在QtCreator中配置并联机调试QtforRaspberryPi应用

打开QtCreator,步入Tools->Options…->Build&Run->Debugger,添加一个Debugger,选择刚刚编译下来的gdb.exe,如右图,保存后。

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

打开Kits,选择之前配置好的RasspberryPi的开发Kit,在Debugger下选择配置好的Debugger,点击OK保存关掉。

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

好了,至此,QtCreator就可以使用

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

按键进行联机调试,可以设置断点,查看运行时显存,线程状态。GDB会向RaspberryPi推送一个gdbserver,但是联合本地的GDB进行调试。下边面是我调试一个QtforRaspberryPi应用时的截图:

图片[1]-Windows上交叉编译安装QtEmbedded5.5来集成开发基于RaspberryPi5.5-唐朝资源网

© 版权声明
THE END
喜欢就支持一下吧
点赞59赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容