解决Ubuntu16.04 libprotobuf版本冲突

  • 系统版本Ubuntu16.04
  • Qt5.9
  • protobuf 2.6.1

这些软件装完之后,运行公司的工程,出现以下错误
his program was compiled against version 2.6.1 of the Protocol Buffer runtime library, which is not compatible with the installed version (3.5.1). Contact the program author for an update. If you compiled the program yourself, make sure that your headers

参考这个链接*给出解决方案。

解决方案:

先将/Qt5.9.0/5.9/gcc_64/plugins/platformthemes中的libqgtk3.so文件移除(记得先备份)
cp home/nio/Qt5.9.0/5.9/gcc_64/plugins/platformthemes/libqgtk3.so /home/Desktop/ rm home/nio/Qt5.9.0/5.9/gcc_64/plugins/platformthemes/libqgtk3.so

只是这样还不够,工程使用Cmake依赖于Qt5,工程会自动找到这个文件,其实这个文件只是控制Qt的GUI,问题不大。为了防止配置问题,需要找到Qt5Gui_QGtk3ThemePlugin.cmake文件,并且把里面的代码注释掉。以下是可能存在的路径。
home/nio/Qt5.9.0/5.9/gcc_64/lib/cmake/Qt5Gui/Qt5Gui_QGtk3ThemePlugin.cmake

就可以顺利解决这个问题了,Enjoy!

解决Ubuntu16.04 libprotobuf版本冲突

上一篇:Shell数值运算的三种方法


下一篇:linux su命令错误 无法执行 /bin.zsh: 没有那个文件或目录