GNU/Linux >> Znalost Linux >  >> Linux

Upozornění libpng:Nekompatibilní verze libpng v aplikaci a knihovně

Zdá se, že vaše aplikace dynamicky propojuje .so soubor knihovny nainstalovaný jinde než v záhlaví, které používáte. Můžete ldd <binary> zjistit, který .so váš binární soubor sbírá, a pak vezměte hlavičkový soubor z tohoto adresáře (pokud to není systémový adresář) místo toho, který používáte. Udělali byste to změnou -I příznak v době kompilace. Jinak si myslím, že budete muset nainstalovat libpng-1.4.3 takže můžete kompilovat podle jeho záhlaví.


Mark B to již vysvětlil. Nyní znovu pro Mattea

váš linker zachytí první výskyt libpng. který se zdá být vnořený do OpenCV. Podívejte se do svého souboru Makefile a uveďte svou místní verzi před zahrnutí OpenCV do Zahrnuje. V mém případě:

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


Linux
  1. Pokyny pro použití a zátěžové testy

  2. Upozornění s nftw

  3. Jak vložit informace o verzi do sdílené knihovny a binárního souboru?

  1. libstdc++.so.5:nelze otevřít soubor sdíleného objektu - ale knihovna je nainstalovaná a aktuální

  2. Vlákna a deskriptory souborů

  3. unix - hlava A konec souboru

  1. Hledání obsahu blokové a souborové aplikace OCP v ODF:Infrastruktura

  2. Co je soubor .so.2?

  3. Co je soubor .so?