GNU/Linux >> LINUX-Kenntnisse >  >> Linux

libpng-Warnung:Inkompatible libpng-Version in Anwendung und Bibliothek

Es sieht so aus, als würde Ihre Anwendung einen .so dynamisch verknüpfen Bibliotheksdatei, die an einem anderen Ort als dem von Ihnen verwendeten Header installiert ist. Sie können ldd <binary> um herauszufinden, welche .so Ihre Binärdatei aufnimmt, und holen Sie sich dann die Header-Datei aus diesem Verzeichnis (sofern es sich nicht um ein Systemverzeichnis handelt) anstelle des von Ihnen verwendeten. Sie würden dies tun, indem Sie Ihren -I ändern Flag zur Kompilierzeit. Andernfalls denke ich, dass Sie libpng-1.4.3 installieren müssen damit Sie gegen seine Header kompilieren können.


Mark B hat es ja schon erklärt. Jetzt nochmal für Matteo

Ihr Linker nimmt das erste Erscheinen von libpng auf. das scheint in OpenCV verschachtelt zu sein. Schau mal in dein Makefile und stell deine lokale Version vor das Include von OpenCV in den Includes. In meinem Fall:

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


Linux
  1. `^m` und wie wird man es los?

  2. Dateiberechtigungen und Speichern?

  3. Ausgabe umleiten und leiten?

  4. Installation und Konfiguration von vsFTPD

  5. Threads und Dateideskriptoren

Ansible Inventar- und Konfigurationsdateien

Finden von Block- und Datei-OCP-Anwendungsinhalten in ODF:Erstellen eines Dateispeicherprojekts

Finden von Block- und Datei-OCP-Anwendungsinhalten in ODF:Erstellen des Projekts

So überprüfen Sie die Ubuntu-Version – schnelle und einfache Methoden

So aktivieren Sie die GD-Bibliothek in PHP mit LibJPEG, FreeType und LibPNG

Was ist eine .so-Datei?