気まぐれLinux

なんかLinuxとかその他諸々について書くらしい

clangでQt

GCCに吐かせたQtのプログラムのバイナリだと起きないのに,Clangに吐かせたバイナリを実行するとSIGSEGV(Segmentation fault)するという事態に遭遇した.落ちる箇所は

  connect(calc, &WaveCalculator::calcFinished, [=]() {
    timer->stop();
    delete faces;
    faces = calc->result();
  });

他にもシグナルとlambdaをconnectしている箇所はあるのに,ここだけダメだったというのも不思議だ…

まあGCC使うべきなんだろうけど


追記

アプリケーション出力を見ると

QObject::connect: invalid null parameter

というメッセージが,つまりcalcかnullなのにconnect使用としてるからだった.直したらClangビルドでも落ちなくなった.自分のミスではあるんだけど,メッセージが出ずに落ちるのはバグ報告したほうがいいんだろうか…