Qt程序异常结束 show两个窗口

今天遇到了一个很神奇的现象

Qt程序异常结束 

网上查了半天没什么办法

然后我把w2.show()注释掉可以运行出w窗口

然后取消注释再运行,两个窗口就都可以正常运行使用

到现在都很奇怪,但是同样问题的可以做个参考,希望有大神解答

如果解答了我会在评论区写出来

#include "server.h"
#include <QApplication>
#include "client.h"
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Server w;
    w.show();

    Client w2;
    w2.show();
    return a.exec();
}

Qt程序异常结束的常见原因:

 

链接时出错解决办法:
1、如果有动态库,需要将动态库复制到exe(运行文件)的同一级目录下;
2、如果是静态库,需要在pro文件中明确指定库文件(dll、so)的位置,否则运行加载库文件的时候,就会被强制终止;
3、可能就是内存不足,导致你的程序无法启动,比如程序需要20M内存,但是现在可用只有10M。
4、最当你按照库的形式组织你的工程的时候,子工程包含有的库,在主工程pro文件中也需要进行包含,即导入库到主工程的pro文件中。
出现情况:
1、使用外部SDK,如opencv;
2、使用自己编写的动态库,XXX.dll等;
3、理论上Qt主工程会在运行exe的时候自动将各个所需要的内部库文件复制到exe运行环境下,但是,有时候,他会搞你,不复制,让你找很久都不知道问题所在。

编译时出错:编译器会提示错误

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

 


运行时出错:

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

posted @ 2020-05-07 11:02  Alvin森  阅读(944)  评论(0)    收藏  举报