Parece que su aplicación está vinculando dinámicamente un 01 archivo de biblioteca instalado en otro lugar que no sea el encabezado que está utilizando. Puedes 28 su binario se está recuperando, y luego tome el archivo de encabezado de ese directorio (a menos que sea un directorio del sistema) en lugar del que está usando. Harías esto cambiando tu 32 marca en tiempo de compilación. De lo contrario, creo que necesitarás instalar 40 para que pueda compilar contra sus encabezados.
Mark B ya lo explicó. Ahora de nuevo para Matteo
su enlazador recoge la primera aparición de libpng. que parece estar anidado en OpenCV. Echa un vistazo a tu Makefile y pon tu versión local antes la inclusión de OpenCV en el Incluye. En mi caso:
-I/usr/include/libpng12 -lpng12 [ ... ] -L/usr/local/lib -lopencv_core