我有一台运行Ubuntu 14.04的虚拟机,我编译并运行需要libpng
和libQtGUI
的软件,没有问题。
但是两天前,我在新的虚拟机上安装了Ubuntu 15.10。编译进展顺利,但当我想运行我们的软件时,我收到消息:
libpng warning: Application was compiled with png.h from libpng-1.4.4
libpng warning: Application is running with png.c from libpng-1.2.51
libpng error: Incompatible libpng version in application and library
如果我将LD_PRELOAD
设置为加载libpng-1.4.4,则消息恰恰相反:
libpng warning: Application was compiled with png.h from libpng-1.2.50
libpng warning: Application is running with png.c from libpng-1.4.4
libpng error: Incompatible libpng version in application and library
(无论如何,我的14.04上没有设置LD_PRELOAD
并且它工作正常)。如果我在我的软件上运行ldd
,则表示只有libQtGui
需要libpng12.so
(如果我在14.04或15.10)。
如何在不重新编译libQtGui
的情况下解决此问题,因为我的14.04虚拟机不需要它?
libgdal
链接,似乎工作正常,这很奇怪,因为根据ldd,libgdal
与libpng
无关...