This program requires version 3.5.0 of the Protocol Buffer runtime library, but the installed,,

前几天在使用了tensorflow的项目里面加上cv::imshow的时候就会出现一下的错误:

This program requires version 3.5.0 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. 
If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library.

但是一旦把cv::imshow去掉,就可以正常运行了。为了解决这个问题,我把内网和外网都翻了一个遍,尝试了无数种方法,今天居然发现作者就把解决方法写在了主页上,,,,,我靠。

废话不多说,首先这个问题出现的原因自然是opencv导致的,作者的原话先给大家看一下:

大意就是说项目里其他地方需要的protobuf的版本(应该就是tensorflow)和libopnecv_highgui需要的protobuf版本不一样,导致了冲突。所以这两个不能同时使用。解决办法也很简单,那就是重新编译opencv,然后在编译的时候加上参数:

-DWITH_QT=ON

 然后,再次运行就可以正常显示啦!!


这个问题困扰了快两天,居然在无意中就解决了,算是惊喜吧。不过我就很奇怪,我找遍了全网都没找到解决方法,为什么作者加了一个参数就解决了,,,这也太厉害了。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值