qt调试无法开始 求助
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt调试无法开始 求助相关的知识,希望对你有一定的参考价值。
1.首先在该链接处下载 Qt library和 Qt creater(http://qt-project.org/downloads),我使用的 Qt library是qt-win-opensource-4.8.5-mingw.exe,
Qt creater是qt-creator-windows-opensource-2.7.2.exe;
安装QT之前,还需要下载MinGW-gcc,我使用的是MinGW-gcc440_1.zip;
http://ishare.iask.sina.com.cn/f/34637805.html这儿可以免费下载;
2.做好了所有准备后,我们开始安装;
(1)。在安装Qt之前,我们简单了解下MinGW。(http://baike.baidu.com/view/98554.htm)
MinGW是一个可以自由使用和自由发布的Windows特定头文件和使用GUN工具集导入库的集合,允许在GUN/Linux和我Windows平台生成本地的Windows程序而不需要第三方C运行时库。
我们在安装Qt之前,需要在系统中存放这个MinGW工具库。这里,我存放的位置是 D:\\Install software;(当然,你完全可以存放在其他地方,只要你自己记住位置就可以了),因为下面的安装过程需要用到这个库。
(2)。接下来,开始安装Qt library。直接双击exe文件就可以了,然后根据提示进行安装,这里我选择安装的位置是D:\\QT;安装过程中有个地方需要填入MinGW的位置,该位置就是上一步中MinGW存放的位置,我这里的位置是D:\\Install software\\mingw;然后很轻松就完成安装;
(3)。然后,为了以后能更方便的使用Qt,我们需要先编译一下。在开始菜单中,找到Qt by Digia v4.8.5 (MinGW OpenSource)这个文件夹,打开,里面会有Qt 4.8.5(Build Debug Libraries)的一个批处理文件,点击后会进入windows下的DOS界面,然后根据里面的提示,根据自己的选择来编译这个库。很简单,就2步吧。不过这个时间有点长,因为库比较大,我电脑比较慢,差不多编译了快4个小时,编译时就和linux下的命令行界面一样的,一行一行的指令往上飞。
(4)。编译完成后,我们需要配置系统环境变量。右键单击我的电脑,选择属性,进入高级系统设置,单击右下角的环境变量,在环境变量path中添加 ;D:\\QT\\bin;D:\\Install software\\mingw\\bin 然后再添加两个环境变量
QTDIR=D:\\QT(编译时的默认目录,这个可以随意设置,用来存放工程文件的);
QMAKESPEC=win32-g++;
到这里,windows下的Qt开发环境基本就配置好了。
下面,我们在D:\\QT的目录下创建一个project的文件夹,再在project中创建hello文件夹,再在hello文件夹中创建一个cpp文件,写入一下测试程序:
#include <QApplication> //包含QApplication头文件
#include <QPushButton> //包含QPushButton头文件
int main(int argc, char *argv[]) // 还是标准的main函数
QApplication app(argc, argv); // 构造应用,同MFC中的WinApp
QPushButton hello("Hello world!"); // 构造PushButton
hello.resize(100, 30); // 设置按钮大小
hello.show(); // 显示按钮
return app.exec(); // 执行应用,同MFC中的Run
然后打开开始菜单中的 Qt 4.8.5 Command Prompt ,通过cd 命令找到cpp所在的路径地址,再输入
qmake -project
make
最后,编译成功通过,会在hello文件夹下的release文件夹中生成一个。exe文件,双击执行即可。也可以在DOS下执行,进入文件夹目录,直接输入:hello.exe 即可;这里,我还列出了一些常用指令
dir 查看文件列表,同linux下的“ls”
cd 改变文件目录 “cd ”返回到上一层 “cd \\”到所在磁盘,一般为c:
del 删除一个文件
mkdir创建一个文件夹
rmdir 删除一个空文件夹
notepad xx.cpp 用记事本打开(如果没有则是创建)xx.cpp文件 也可以是。h文件
3.如果觉得使用命令行不习惯,那么就可以安装Qt creater,这是一个图形化的设计编译界面,直接使用EXE文件安装。安装完成后,打开软件,单击工具栏,单击选项按钮,进入下面的页面:
单击构建和运行(这是新版本,老版本是“Qt4”),就是上面这个页面,将Qt版本中的qmake路径手动设置为Qt安装路径中的bin文件夹下的qmake.exe文件即可(添加,确定);
这时你可以在creater中添加hello的项目,看看调试时候能够通过,能否正常运行,如果出现调试不通过,gbd异常中断,那么你还需要下载gdb。因为在之前的Qt Creator中,是以一个Qt SDK的整体来提供的,里面就包括了MinGW和调试器,而且也无需配置,现在的新版本都是分散安装的,所以就需要自己单独再找找了。网上的一个说法是2.5以上的版本必须使用7.2 IIRC版以上的GDB,需要需要自己单独下载,这里我找到两个下载地址。 参考技术A 这是需要支持python的GDB版本,如果不想换GDB的话,换个较低版本的Qt creator可以解决,我换了个3.0.1的qt creator就可以了
Qt无法调试Qvector
现象:
解决:
打开文件 $(VSDIR)Common7PackagesDebuggerautoexp.dat (VSDIR是本机Visual Studio的安装目录)
把定义QVector和QMap显示内容的语句改成以下语句
;------------------------------------------------------------------------------ ; QVector, QStack ;------------------------------------------------------------------------------ QVector<*>|*::QVector<*>|QStack<*>|*::QStack<*>{ preview ( #if ($c.d->size <= 10) ( #( "[", $c.d->size, "](", #array ( expr: (($T1*)((char*)($c.d)+ $c.d->offset))[$i], size: $c.d->size ), ")" ) ) #else ( #( "[", $c.d->size, "](", #array ( expr: (($T1*)((char*)($c.d)+ $c.d->offset))[$i], size: $c.d->size ), ", ...)" ) ) ) children ( #array ( expr: (($T1*)((char*)($c.d)+ $c.d->offset))[$i], size: $c.d->size ) ) } ;------------------------------------------------------------------------------ ; QMap ;------------------------------------------------------------------------------ QMapNode<*,*>{ preview ( #( "(", $e.key, "; ", $e.value, ")" ) ) children ( #( key: $e.key, value: $e.value ) ) } QMap<*>{ children ( #( raw data: [$c,!], #tree ( head: &($e.d->header), size: $e.d->size, left: left, right: right, ) : ((QMapNode<$T1>*)&$e) ) ) preview ( #( "[", $e.d->size, "](", #tree ( head: &($e.d->header), size: $e.d->size, left: left, right: right, ) : ((QMapNode<$T1>*)&$e), ")" ) ) }
以上是关于qt调试无法开始 求助的主要内容,如果未能解决你的问题,请参考以下文章
求助,我在linux下安装的Qt5为啥用GDB调试器无法进入源码
Qt 调试崩溃/退出 python 并最终无法正确调试(例如,不在断点处停止)
无法让 Qt Creator 调试在 Windows 10 上运行