今天遇到了一个很神奇的现象
Qt程序异常结束
网上查了半天没什么办法
然后我把w2.show()注释掉可以运行出w窗口
然后取消注释再运行,两个窗口就都可以正常运行使用
到现在都很奇怪,但是同样问题的可以做个参考,希望有大神解答
如果解答了我会在评论区写出来
#include "server.h"
#include
#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、索引无效区域;