Il semble que votre application lie dynamiquement un .so
fichier de bibliothèque installé ailleurs que dans l'en-tête que vous utilisez. Vous pouvez ldd <binary>
pour savoir quel .so
votre binaire est récupéré, puis récupérez le fichier d'en-tête de ce répertoire (sauf s'il s'agit d'un répertoire système) au lieu de celui que vous utilisez. Vous feriez cela en changeant votre -I
drapeau au moment de la compilation. Sinon, je pense que vous devrez installer libpng-1.4.3
afin que vous puissiez compiler avec ses en-têtes.
Mark B l'a déjà expliqué. encore une fois pour Matteo
votre éditeur de liens capte la première apparition de libpng. qui semble être imbriqué dans OpenCV. Jetez un oeil dans votre Makefile et mettez votre version locale avant l'inclusion d'OpenCV dans les Inclut. Dans mon cas :
-I/usr/include/libpng12 -lpng12 [ ... ] -L/usr/local/lib -lopencv_core