Qt —— Qt5 中一些常見的錯誤(1)

在QT5上配置opencv3,運行第一個程序時出現以下錯誤,解決方法也po出:

錯誤一:


-1: error: mainwindow.o: undefined reference to symbol '_ZN2cv6imreadERKNS_6StringEi'
/usr/local/lib/libopencv_imgcodecs.so.3.4:-1: error: error adding symbols: DSO missing from command line
-1: error: collect2: error: ld returned 1 exit status

解決方法:從錯誤提示裏可以看出,需要鏈接libopencv_imgcodecs.so,這個應該是opencv3和opencv2的區別,導致程序編譯鏈接出錯。(因爲我用的例程是基於opencv2的)添加到庫後,如下

INCLUDEPATH += /usr/local/include \
                    /usr/local/include/opencv \
                    /usr/local/include/opencv2

LIBS += /usr/local/lib/libopencv_highgui.so \
            /usr/local/lib/libopencv_core.so    \
            /usr/local/lib/libopencv_imgproc.so  \
            /usr/local/lib/libopencv_imgcodecs.so

錯誤二:


-1error: 'class QString' has no member named 'toAscii'(class QChar)

解決方法:在Qt4中QString類和QChar類都有toAscii()用於轉爲char(ASCii碼),但是在Qt5中沒有,可以用函數char toLatin1() const替代原函數。(我差點就自己動手寫了)

錯誤三:


-1: error: file not recognized: File truncated

解決方法:Build -> rebuild All
這個錯誤有可能出現在上一次構建被中斷之後,並且沒有完全生成目標文件。(出現這個神奇的錯誤之前我電腦正好構建到一半就死機了)

發佈了32 篇原創文章 · 獲贊 28 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章