處理由別人編寫的相當大的代碼塊,我對QT並不是很熟悉,但是我最近的調試沒有成功。QT構建QWidget,QObject錯誤
偉大的工作後,我加了3行,接着評論逐一測試,並在測試時得到了這兩種錯誤的更多的變化:
undefined reference to 'QObject::connectNotify(char const*)' (.rodata._ZTV15NumberWithUnits[_ZTV15NumberWithUnits]+0x60)
undefined reference to 'QWidget::x11Event(_XEvent*) (.rodata._ZTV15NumberWithUnits[_ZTV15NumberWithUnits]+0x160)
我想可能有一些庫或其他構建錯誤,或者我需要做的文件清理,但是我被卡住了。
在搜索並嘗試了多個事物之後,我發現了幾個類似的答案,如this one,並試圖實現添加-lqt語句或修復qmake。
有關如何執行此操作或嘗試其他操作的建議?
刪除生成文件夾和重建項目... –
哇,簡單的修復工作。我有其他錯誤,我認爲此刻不相關。這在QT環境中經常發生嗎?任何想法爲什麼/何時我可能會看到? – dusev
這是因爲makefile - qmake的輸出 - 取決於qmake掃描輸入的所有文件,但如果qmake每次更改它們時都必須重新讀取它們,它會減慢構建的速度。所以它不這樣做。這可以通過重新構建qmake來解決,但是考慮到qmake作爲一種工具已經到了生命的盡頭,這樣做幾乎沒有什麼動機。如果你想避免這個問題,可以使用'qbs'(Qt build system)或'cmake'來代替。 –