Qt程序异常结束

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21078557/article/details/83379401

解决Qt程序异常结束
Qt程序异常结束如下图所示:
在这里插入图片描述

出现这种情况一般是库文件加载的问题,因为程序编译通过并且没有报错,然而程序却没有运行起来,这个时候的错误应该属于链接库文件错误。

链接时出错
解决办法:
1、如果有动态库,需要将动态库复制到exe(运行文件)的同一级目录下;
2、如果是静态库,需要在pro文件中明确指定库文件(dll、so)的位置,否则运行加载库文件的时候,就会被强制终止;
3、最后一种情况极有可能就是内存不足,导致你的程序无法启动,比如程序需要200M内存,但是现在可用只有100,这个时候就会出现异常结束。

出现情况:
1、使用外部SDK,如opencv;
2、使用自己编写的动态库,XXX.dll等;
3、理论上Qt主工程会在运行exe的时候自动将各个所需要的内部库文件复制到exe运行环境下,但是,有时候,他会搞你,不复制,让你找很久都不知道问题所在。

除了上述链接文件错误,还有编译时出错和运行时出错,下面大概讲一下。

一、编译时出错:

  • 1、编译时出错主要是语法错误;
  • 2、类型转换错误;
  • 3、生成库文件以及其他相关文件错误;

备注:编译时错误可以通过代码优化以及检查找出来,编译器也会提示错误。

二、运行时出错:

  • 1、运行时出错主要是内存问题;
  • 2、内存可用空间不够、内存没有释放;
  • 3、下标越界(数组、容器等);
  • 4、索引无效区域;(道理同上)

除此之外,还有一些其他的错误,需要自己多总结多积累。

猜你喜欢

转载自blog.csdn.net/qq_21078557/article/details/83379401
今日推荐