Chinaunix首页 | 论坛 | 博客
  • 博客访问: 186609
  • 博文数量: 19
  • 博客积分: 226
  • 博客等级: 二等列兵
  • 技术积分: 318
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-23 09:09
文章分类

全部博文(19)

文章存档

2013年(12)

2012年(7)

分类: C/C++

2013-04-19 11:55:41

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申请的空间转变为申请栈区的局部变量,问题就得到解决了。不过说实话对于堆、栈它们各自到底占用多少内存,怎样的分配才算合理,怎样避免这方面的问题,自己目前还是不清楚。






阅读(28810) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~