簡體   English   中英

啟動時Qt Designer和Qt Assistant seg錯誤

[英]Qt Designer & Qt Assistant seg fault on startup

如果這是錯誤的部分,我深表歉意-視需要移動...

有一點背景知識:我有一個構建的Qt 4.8.4應用程序,對我來說運行得很好。 我使用VNC連接到Linux Redhat盒。

但是,當將應用程序交給同事使用時,他無法使其運行而不會遇到分段錯誤:基本上,他將嘗試檢查其中一個復選框,並且該應用程序將分段錯誤並使用gdb(回溯)顯示:

#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. 另一個用戶:他和我一樣在SAME Linux Redhat框中,只是一個不同的登錄名。 他具有與我完全相同的PATHQTDIRQTLIBQTBINQTINCQTMAKESPEC 我們倆都使用bash shell。
  2. 我在應用程序中進行了一些調試,以比較qt已知的系統環境,它們是相同的(帶有用戶名/登錄名的執行)。

我一直在想辦法解決這個問題。

好吧,我決定隨機做些事情,然后我運行了已安裝的Qt Designer……無法啟動。 有趣...

因此,我進行了一些調查,發現菜單中的Qt Designer適用於Qt-3.3,該產品也已安裝。 我讀過的那個大概不是問題。

然后,我嘗試啟動與Qt 4.8.4打包在一起的Qt Designer,這使它感到驚訝,但它也無法啟動。 如果嘗試從終端啟動它,則會收到“分段故障”輸出。 (進一步的調查顯示,Qt Assistant正在執行相同的操作...)

通過gdb運行Designer(對於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,但是如果對我來說工作正常,那將如何解決?

因此,對於遇到類似問題的任何人,我相信至少在這種情況下,我已經找到了答案:

在比較我的主目錄和另一個用戶的主目錄之后,我發現了兩個引起我極大興趣的文件夾:

.config/
.qt/

事實證明,另一個用戶缺少 .qt文件夾! 在我的.config文件中,我有一個他沒有的“ Trolltech”文件夾。 因此,我將自己的作品復制到他的作品中,並注意到最后一件事,然后嘗試再次運行...

在.config /下,有一個名為Trolltech.conf的文件-猜猜是什么:他和我的完全不同:我的Trolltech.conf文件沒有設置Qt 4.8.4的所有內容。 所以我也照做了。

值得一看的是-Qt Designer(適用於3.3和4.8.4),Qt Assistant和我的應用程序現在都可以正常工作。 :D

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM