Qt报错 collect2.exe:-1: error: error: ld returned 1 exit status解决方案

目录

前言

一、查看代码分析

二、报错分析


4dab262d-f5e4-48c8-a63f-3228cb13c699

前言

        最近开发一个项目,爆出了一个如下错误

        经过我查阅资料,仔细分析了一下,发现我的问题出在这里,在这里分享一下我出现的问题,以便有人遇到问题的时候,如果和我这个类似,不浪费更多的时间,直接找到问题的关键。也以便于我以后再犯类似错误,方便我的查找。话不多说,我们立马开始:

collect2.exe:-1: error: error: ld returned 1 exit status

一、查看代码分析

        可以看出,我自定义了一个类,并new了一个对象。把当前类,作为父类,之后隐藏了父类,并显示了子类,这里再次关闭窗口,发现爆了上述错误,

m_selectGateway = new page1(this);


QTimer::singleShot(250,[=](){
                btnStart->setEnabled(true);
                this->hide();
                m_selectGateway.show();

二、报错分析

        经过分析发现,当父类隐藏后,子类m_selectGateway和父类是一个对象树概念,父类隐藏后,子类就算关闭也不会消失,必须等待父类关闭才会消失,而父类隐藏了,关闭不了,程序就在一直运行,所以会爆出此错误!!!

猜你喜欢

转载自blog.csdn.net/m0_65635427/article/details/130822018