2016-05-13 74 views
0

我移植我的應用程序從QT 4.8.0至5.5.1 QT它 編譯沒有任何錯誤,但在運行時,應用程序崩潰,看到消息未定義的符號:_Zn9Qwidget11stylechangeER6QStyle在我的一個.so文件中動態鏈接。(LINUX)從Qt4的移植到QT5未定義的符號:_Zn9Qwidget11stylechangeER6QStyle

當在整個項目源代碼中搜索時找不到任何函數styleChange()。

已清理項目,刪除所有中間文件,所有目標文件,.so文件但結果相同。 它似乎是一個qt4.8.0函數,但無法找到,因此無法調試。

任何幫助,將不勝感激。

+0

你能檢查未定義符號的名稱嗎? 'C++ filt _Zn9Qwidget11stylechangeER6QStyle'不會生成demangled.name。 –

回答

0

當在整個項目源代碼中搜索時找不到任何函數styleChange()。

請注意,在損壞的名稱'c'中使用小寫字母:stylechange。您是否嘗試過搜索此方法?

+0

另外「Qwidget」看起來不對。 –

+0

看起來像一些自制類的Qt頂部,可能是QWidget本身。當然這可能是錯誤的印象。 – bipll