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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值