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
这个错误有可能出现在上一次构建被中断之后,并且没有完全生成目标文件。(出现这个神奇的错误之前我电脑正好构建到一半就死机了)

猜你喜欢

转载自blog.csdn.net/marilynmontu/article/details/79776610
Qt5