适用于树莓派Raspberry Pi的嵌入式QT平台(三) -- 交叉编译 Raspberry Pi 版GDB with Python

上篇讲到“在Windows下用Qt Creator开发编译Raspberry Qt 5应用程序”,由于目前Qt Creator所支持的GDB需要有Python支持,但是目前MinGW中的GDB都是无Python支持的,所以我们需要自己下载GDB代码并且编译成针对Raspberry Pi支持Python的版本。

 

1. 准备工作

 

解压缩Qt Creator源码,放入C:\Download目录,并且将其他下载的库及代码放入 C:\Download\qt-creator-opensource-src-3.6.0-rc1\dist\gdb\source (在gdb目录下新建一个source目录)

2. 配置编译环境

有人要说,为什么不用之前toolchain for Windows的MinGW32来编译,因为经过本人多次尝试,发现toolchain中的MinGW版本过低,有一个time.h的结构体声明bug导致我们GDB编译无法进行。所以我们需要更新到最新的MinGW版本来编译GDB

安装MinGW-get到C:\MinGW

完成后打开 C:\MinGW\bin\mingw-get.exe,选择 Basic Setup->勾选右侧列表中 mingw-developer-toolkit, mingw32-base,mingw32-gcc-g++以及msys-base软件包,点击菜单Installation->Apply Changes 完成软件包的安装。

安装软件完成后,打开 C:\MinGW\msys\1.0\msys.bat 进入MinGW shell环境。

 

3. 配置编译GDB with Python for Win/Linux/ARM

打开 C:\Download\qt-creator-opensource-src-3.6.0-rc1\dist\gdb\Makefile.mingw 文件

在targets那一行添加Raspberry Pi的ABI:arm-linux-gnueabihf,然后保存文件。打开msys shell,进入目录 C:\Download\qt-creator-opensource-src-3.6.0-rc1\dist\gdb,make这个Makefile.mingw开始编译:

注意:过程中可能会下载一些软件包,确保你的网络连接的稳定,有条件的可以FQ连上VPN。如果下载一直出现问题,则可以选择手动下载那些软件包放入source目录中。

 

当编译打包全部完成后(大概会花一个小时编译),你可以在 C:\Download\qt-creator-opensource-src-3.6.0-rc1\dist\gdb\qtcreator-gdb-7.10 找到编译好的GDB,并且也有一个打包好的 qtcreator-gdb-7.10-mingw32_nt-6.2-i686.tar.gz 在\dist\gdb目录下。

 

4. 在Qt Creator中配置并联机调试Qt for Raspberry Pi应用

打开Qt Creator,进入Tools->Options...->Build & Run->Debugger,添加一个Debugger,选择刚才编译出来的gdb.exe,如下图,保存后。

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

 

好了,至此,Qt Creator就可以使用按钮进行联机调试,可以设置断点,查看运行时内存,线程状态。GDB会向Raspberry Pi推送一个gdbserver,并且联合本地的GDB进行调试。下面面是我调试一个Qt for Raspberry Pi应用时的截图:

 

下一篇:利用VisualGDB搭建Vsiaul Studio的Qt for Raspberry Pi开发环境

posted @ 2016-03-05 00:22  Jarrey  阅读(6420)  评论(3编辑  收藏  举报