Inhaltsverzeichnis
4dab262d-f5e4-48c8-a63f-3228cb13c699
Vorwort
Kürzlich wurde ein Projekt entwickelt, bei dem ein folgender Fehler aufgetreten ist
Nachdem ich die Informationen überprüft und sorgfältig analysiert hatte, stellte ich fest, dass hier mein Problem liegt. Ich möchte mein Problem hier teilen, damit jemand, der auf ein Problem stößt und es meinem ähnelt, nicht mehr Zeit mit der Suche verschwendet es direkt. Der Kern der Sache. Es ist auch bequem für mich, in Zukunft ähnliche Fehler zu machen, und es ist bequem für mich, sie zu finden. Fangen wir ohne Umschweife gleich an:
collect2.exe:-1: error: error: ld returned 1 exit status
1. Codeanalyse anzeigen
Es ist ersichtlich, dass ich eine Klasse angepasst und ein Objekt erstellt habe. Nehmen Sie die aktuelle Klasse als übergeordnete Klasse, blenden Sie dann die übergeordnete Klasse aus und zeigen Sie die Unterklasse an. Schließen Sie das Fenster hier erneut und stellen Sie fest, dass der obige Fehler explodiert ist.
m_selectGateway = new page1(this);
QTimer::singleShot(250,[=](){
btnStart->setEnabled(true);
this->hide();
m_selectGateway.show();
2. Fehleranalyse
Nach der Analyse wurde festgestellt, dass die Unterklasse m_selectGateway und die übergeordnete Klasse ein Objektbaumkonzept sind, wenn die übergeordnete Klasse ausgeblendet ist. Nachdem die übergeordnete Klasse ausgeblendet ist, verschwindet die Unterklasse nicht, selbst wenn sie geschlossen wird. Sie verschwindet erst danach Die übergeordnete Klasse ist geschlossen und die übergeordnete Klasse ist ausgeblendet. , kann nicht geschlossen werden, das Programm läuft die ganze Zeit, daher wird dieser Fehler angezeigt! ! !