Qt中出现的错误总结

http://blog.chinaunix.net/uid-27188536-id-3601914.html

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


http://tieba.baidu.com/p/2310833255

exited with code -1073741819
应该是某个变量声明了,没有初始化,或是初始化无效,然而后边直接使用到。
比如:
QGridLayout *main; 声明却没初始化;
QWidget * text = new QWidget();
main->addWidget(text); 使用了没初始化的main

<think>我们正在解决Qt中的Makefile.Debug错误。根据引用内容,有几个可能的解决方案: 1. 引用[1]中提到,当Makefile损坏时,需要手动重新生成。进入工程目录,执行: qmake -project qmake 这会重新生成Makefile。注意:重新生成后可能需要手动添加库(如QT += core gui等)。 2. 引用[1]中问题3的解决方法:必须使用Qt提供的start.bat启动Eclipse,直接启动eclipse.exe可能导致问题。 3. 引用[1]中问题4的解决方法:在MinGW的bin目录中,将mingw32-make.exe复制一份并重命名为make.exe(因为编译时可能调用的是make命令)。 4. 引用[2]展示了一个链接命令,其中包含了一些库路径。如果Makefile.Debug错误涉及链接库,可能需要检查库路径是否正确。 另外,根据一般经验,Makefile.Debug错误可能的原因和解决方案还包括: - 路径中包含空格或特殊字符:确保工程路径没有空格或特殊字符(如中文)。 - 清理工程:尝试删除构建目录(如debug或release目录)和Makefile文件,然后重新运行qmake和make。 - 检查环境变量:确保Qt和MinGW的环境变量设置正确。 步骤总结: 1. 确保使用正确的Qt命令提示符(如Qt提供的MinGW命令提示符)进行操作。 2. 进入工程目录,执行以下命令清理并重新生成: qmake -project qmake make clean make 3. 如果问题依旧,检查MinGW的bin目录下是否有make.exe(如果没有,按上述方法复制重命名)。 4. 如果使用Eclipse,确保通过start.bat启动。 如果以上步骤不能解决,请提供具体的错误信息以便进一步分析。 相关问题: 1. Qt中如何正确配置MinGW环境变量? 2. Qt工程清理和重新构建的常用命令有哪些? 3. 如何解决Qt中出现的链接库错误?</think>### Qt中Makefile.Debug错误的解决方案 在Qt开发中遇到`Makefile.Debug`错误通常由以下原因引起,以下是系统性的解决步骤: #### 1. **重新生成Makefile文件**(最常用方案) 当Makefile损坏或不完整时: ```bash cd /path/to/your/project # 进入工程目录 qmake -project # 重新生成.pro文件 qmake # 生成新的Makefile ``` 重新生成后需检查: - 文件头部是否包含必要库(如`QT += core gui`) - 确认`TARGET`名称正确性 > 引用[1]中通过此方法解决Makefile损坏问题[^1] #### 2. **修复MinGW环境** 若出现`multiple target patterns`或`Cannot run program "make"`错误: - 进入MinGW的bin目录(如`C:\MinGW\bin`) - 复制`mingw32-make.exe`并重命名为`make.exe` > 引用[1]问题4的解决方案[^1] #### 3. **正确启动IDE** 使用Eclipse时务必通过Qt集成包中的`start.bat`启动: ```bat D:\Qt\qt-eclipse-integration\start.bat ``` 直接启动eclipse.exe可能导致环境变量加载失败[^1] #### 4. **检查库链接路径** 若错误涉及库链接(如引用[2]所示): ```makefile # 在Makefile.Debug中检查库路径 LIBS = -L"c:/Qt/libs" -lQtCore -lQtGui ``` 确保: - 路径分隔符使用`/`而非`\` - 库文件名大小写匹配实际文件 #### 5. **清理构建缓存** ```bash make clean # 清理旧构建 qmake -spec win32-g++ # 指定编译器 make debug # 重新构建Debug版本 ``` ### 常见错误对照表 | 错误信息 | 解决方案 | |---------|---------| | `multiple target patterns` | 用`start.bat`启动IDE[^1] | | `Cannot run program "make"` | 创建`make.exe`副本[^1] | | 未定义的库引用 | 检查`.pro`文件的`QT +=`模块声明 | | 路径包含空格 | 将工程移至无空格路径 | ### 预防措施 1. 在`.pro`文件中明确定义模块: ```qmake QT += core gui xml TARGET = MyApp ``` 2. 使用Qt Creator内置的"清除所有项目"功能 3. 避免手动修改自动生成的Makefile > **提示**:若问题持续,检查Qt版本与编译器(MinGW/MSVC)的兼容性,可通过`qmake -v`和`g++ -v`验证版本匹配。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值