Sepertinya aplikasi Anda menautkan .so
secara dinamis file perpustakaan diinstal di tempat lain selain header yang Anda gunakan. Anda dapat ldd <binary>
untuk mengetahui .so
yang mana biner Anda mengambil, lalu ambil file header dari direktori itu (kecuali itu adalah direktori sistem) alih-alih yang Anda gunakan. Anda akan melakukannya dengan mengubah -I
Anda bendera pada waktu kompilasi. Kalau tidak, saya pikir Anda harus menginstal libpng-1.4.3
sehingga Anda dapat mengkompilasi dengan headernya.
Mark B sudah menjelaskannya. Sekarang lagi untuk Matteo
linker Anda menampilkan tampilan pertama libpng. yang tampaknya bersarang di OpenCV. Lihat di Makefile Anda dan tempatkan versi lokal Anda sebelum termasuk OpenCV di Termasuk. Dalam kasus saya:
-I/usr/include/libpng12 -lpng12 [ ... ] -L/usr/local/lib -lopencv_core