qt如何在程序崩溃时也不退出

qt如何在程序崩溃时也不退出,第1张

qt在程序崩溃时也不退出方法如下所示:

可打开在上方菜单栏中的“工具-选项-构建枣亏和运行-概要凳氏神”,取消勾选“使用jom代替nmake”选项,即可正常编译运核脊行了。

QT错误:collect2:ld returned 1 exit status

1.编译成功的例子在后台执行迟搭,有时一闪而过,如果再次build ,则会提示上述错误。

解决方法:打开任务管理器,找到相应灶旦闷的exe进程,关闭即可; 或者直接关闭QtCreator。

2.没有编译成功的情况下,最常见情况是程序本身需要include的头文件被遗漏了

解决方法:细心查找基类所用的头文件,include之后即可。

3..h文件中相关的槽函数在cpp文件中没有定义

解决方法:查找遗漏的槽函数,根据需要,具体的定义。

Qt错误:

Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly

RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly

我是在做图像处理的时候出现这个错误的,原因是没有图的初始数据。个人觉得出现这个错误多半是因为某个变量没有进行初始化,引用不明确造成的。

Qt错误:

Starting D:\e\qt\13-4-19-picture\picture-build-desktop\debug\picture.exe...

D:\e\qt\13-4-19-picture\picture-build-desktop\debug\picture.exe exited with code -1073741571

在用qt进行图像开发的时候,出现了这种问题。经过网上查阅资料,发现这个错误是由于:栈溢出,系统默认的栈的空间大小是1MB。

解决方法是将需要申请栈内存的局部变量更改为其他类型的变量,以减少对栈的压力。下面推荐三种解决方法

1、要分配的大量局部动态变量或数组,改成用new分配,不过一定要记得delete哦。

2、如果类的定义中有大数组,不要用该类定义局部变量,改成用new构造对象。

3、直接将大容量局部变量数组移到函数外,使其作为全局变量数组存在,不过全局变量要慎用。

Qt错误:

Error -

RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly

C:\Users\Administrator\Desktop\picture-build-desktop\debug\picture.exe 退出, 代码: -1073741819

这隐弯个问题可困扰了我整整一天,通过单步调试也没看出来程序有什么错误,貌似该获取的值都取到了,逻辑上也完全正确。后来还请教了工作室的大神,折腾了很久才发现,又是内存管理的问题,程序里面申请的堆区的空间太多,把用new申请的空间转变为申请栈区的局部变量,问题就得到解决了。不过说实话对于堆、栈它们各自到底占用多少内存,怎样的分配才算合理,怎样避免这方面的问题,自己目前还是不清楚。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12354311.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-22
下一篇2023-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存