GNU/Linux >> Linux Esercitazione >  >> Linux

Avviso libpng:versione libpng incompatibile nell'applicazione e nella libreria

Sembra che la tua applicazione stia collegando dinamicamente un .so library file installato in un posto diverso dall'intestazione che stai utilizzando. Puoi ldd <binary> per capire quale .so il tuo binario sta raccogliendo, quindi prendi il file di intestazione da quella directory (a meno che non sia una directory di sistema) invece di quella che stai utilizzando. Lo faresti cambiando il tuo -I flag in fase di compilazione. Altrimenti penso che dovrai installare libpng-1.4.3 così puoi compilare contro le sue intestazioni.


Mark B l'ha già spiegato. Ora di nuovo per Matteo

il tuo linker raccoglie la prima apparizione di libpng. che sembra essere annidato in OpenCV. Dai un'occhiata al tuo Makefile e metti la tua versione locale prima l'inclusione di OpenCV negli Include. Nel mio caso:

-I/usr/include/libpng12 -lpng12 [ ... ] -L/usr/local/lib -lopencv_core


Linux
  1. Trovare il contenuto dell'applicazione OCP di blocchi e file in ODF:l'infrastruttura

  2. Reindirizzamento e uscita del tubo?

  3. Linee guida per l'applicazione e le prove di carico

  4. Avviso con nftw

  5. Come incorporare le informazioni sulla versione nella libreria condivisa e nel binario?

Inventario Ansible e file di configurazione

Trovare il contenuto dell'applicazione OCP di blocchi e file in ODF:creazione di un progetto di archiviazione file

Come controllare la versione di Ubuntu:metodi semplici e veloci

Come abilitare la libreria GD in PHP con LibJPEG, FreeType e LibPNG

unix - testa E coda del file

Cos'è un file .so?