Tengo una aplicación que depende de una gran cantidad de bibliotecas (no todos). La mayoría de estas bibliotecas se instalan a través del administrador de paquetes. Para los que no lo son, los he vuelto a compilar, pero sigo teniendo el mismo error de incompatibilidad de libpng.libpng advertencia: versión de libpng incompatible en la aplicación y la biblioteca
libpng warning: Application was compiled with png.h from libpng-1.2.44
libpng warning: Application is running with png.c from libpng-1.4.3
Es un error porque el búfer resultante está vacío. ¿Cómo puedo saber qué biblioteca está enlazando con la nueva y qué biblioteca está enlazando con la anterior?
ldd <executable-name>
...
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f5a0660f000)
...
Correr locate png.h
me da un par de archivos del sistema
/usr/include/png.h
/usr/include/libpng12/png.h
todos los cuales están 1.2.44.
Estoy ejecutando Ubuntu 11.04 x86-64.
ACTUALIZACIÓN: Resulta que OpenCV barcos con su propia versión de libpng 1.4.3 cuales es
Qué plataforma local/lib? –
@Dat Chu - Estoy enfrentando el mismo problema, ya que descubrió que OpenCV envía su propia versión de libpng, ¿qué debo hacer para compilar mi código correctamente? ¿Cuál de las siguientes 2 sugerencias siguió? ¡gracias por tu ayuda! – Matteo