目次
4dab262d-f5e4-48c8-a63f-3228cb13c699
序文
最近、プロジェクトを開発したところ、次のようなエラーが発生しました。
情報を確認し、慎重に分析した結果、私の問題はここにあることがわかりました。誰かが私と同じような問題に遭遇したときに、時間を無駄にせずに見つけられるように、ここで私の問題を共有したいと思います。それは直接、問題の核心です。また、将来同じような間違いをするのにも便利ですし、見つけるのにも便利です。さっそく始めましょう。
collect2.exe:-1: error: error: ld returned 1 exit status
1. コード分析を表示する
クラスをカスタマイズしてオブジェクトを作成したことがわかります。現在のクラスを親クラスとして取得し、親クラスを非表示にしてサブクラスを表示し、ここで再度ウィンドウを閉じると、上記のエラーが爆発していることがわかります。
m_selectGateway = new page1(this);
QTimer::singleShot(250,[=](){
btnStart->setEnabled(true);
this->hide();
m_selectGateway.show();
2. エラー分析
分析の結果、親クラスを非表示にした場合、サブクラス m_selectGateway と親クラスはオブジェクト ツリーの概念であることがわかりました。親クラスを非表示にした後、サブクラスは閉じても消えません。親クラスが閉じられており、親クラスが非表示になっています。閉じることができません。プログラムは常に実行されているため、このエラーが表示されます。!!