これが間違ったセクションにある場合はお詫びします - 必要に応じて移動してください...
ちょっとした背景: 私が作成した Qt 4.8.4 アプリケーションは、美しく動作します... 私にとっては。VNC を使用して Linux Redhat ボックスに接続しています。
しかし、使用するために同僚にアプリケーションを渡すとき、彼はセグメンテーション違反を起こさずにそれを実行することができません: 基本的に、彼はチェックボックスの 1 つをチェックしようとします。ショー:
#0 0x00000000 in ?? ()
#1 0xb7a2b9e8 in QGtkStyle::drawComplexControl () from /usr/local/Trolltech/Qt-4.8.4/lib/libQtGui.so.4
#2 0xb7b315b5 in QScrollBar::paintEvent () from /usr/local/Trolltech/Qt-4.8.4/lib/libQtGui.so.4
#3 0xb7682fd4 in QWidget::event () from /usr/local/Trolltech/Qt-4.8.4/lib/libQtGui.so.4
...
いくつかの注意事項:
- もう 1 人のユーザー: 彼は私と同じ Linux Redhat ボックスを使用していますが、ログイン方法が異なるだけです。彼は私とまったく同じ、、、、、、を
PATH
持っています。どちらも bash シェルを使用しています。QTDIR
QTLIB
QTBIN
QTINC
QTMAKESPEC
- qtで知られているシステム環境を比較するために、アプリケーションに少しデバッグを加えましたが、それらは同じです(ユーザー名/ログインの実行を除いて)。
私はこれを理解しようとして、机に頭をぶつけてきました。
さて、私はランダムなことをすることに決めました & インストールされている Qt Designer を実行しました...起動に失敗しました。面白い...
そこで調べてみると、メニューの Qt Designer は Qt-3.3 用で、これもインストールされていることがわかりました。それ、または私が読んだように、問題になるべきではありません。
次に、Qt 4.8.4 に同梱されている Qt Designer を起動しようとしましたが、これも起動に失敗しました。端末から起動しようとすると、「Segmentation Fault」という出力が表示されます。(さらに調査すると、Qt Assistant も同じことを行っていることがわかります...)
gdb を使用してデザイナー (qt 4.8.4 の場合) を実行すると、バックトレースに次のように表示されます。
#0 0x00000000 in ?? ()
#1 0xb6f049e8 in QGtkStyle::drawComplexControl() from /usr/local/Trolltech/Qt-4.8.4/lib/libQtGui.so.4
#2 0xb700a5b5 in QScrollBar::paintEvent() from /usr/local/Trolltech/Qt-4.8.4/lib/libQtGui.so.4
#3 0xb6b5bfd4 in QWidget::event () from /usr/local/Trolltech/Qt-4.8.4/lib/libQtGui.so.4
デザイナーのバックトレースは、私のアプリケーションのバックトレースと同じです!
...そして、それが私のアプリケーション/他のユーザーにとって何を意味するのかわかりません。
もともと Qt を再インストールすることを考えていましたが、問題なく動作している場合、どうすれば問題が解決するのでしょうか?